« 2004年5月 | トップページ | 2004年7月 »

リモート デスクトップで遠隔操作する 2.リモート デスクトップ

次のサイトに リモートデスクトップの際に使えるショートカットがまとめてある。

WindowsXPの正体 : リモート デスクトップで遠隔操作する 2.リモート デスクトップ接続を使う

| | コメント (0) | トラックバック (1)

Word 97 Annoyances での single closing quote というか apostrophe の怪

クォーテーションマークの入力だが、いろいろ調べてみたりした結果、オートコレクトの「入力オートフォーマット」で、「’’を‘’に変更する」のチェックを外し、クォーテーションマークは、次のようなショットカットキーが元々設定してあるので、それを用いて入力するのがよろしかろうと思うようになった。

‘ シングルクォーテーション(左) Ctrl+`, `
’ シングルクォーテーション(右) Ctrl+', '
“ ダブルクォーテーション(左) Ctrl+`,"
” ダブルクォーテーション(右) Ctr;',"

確かに、下で書いたような手法(マクロを一つのキーに割り当てる)は、いろいろ便利に使えそうではあるのだが。

以上、2005/12/15加筆。

ISBN 1565923081Word97 Annoyances という本は、なかなか素敵な本だ。

そもそも、"annoyances" って、何?

Microsoft Word ってのは、いろんなユーザーのためにいろんな機能 をテンコ盛りにしてある。誰かのために便利な機能でも、別の人には、余計なお世話だったりする。"annoyances" ってのは、そのような「余計なお世話」などのこと。著者達のことばでいうと、"... Annoyances, like bugs, are in the eyes of the beholder: if you find something that doesn't work the way you think it should, it's a bug. If you find that you can fix or work around the bug, it's an annoyance. From our point of view, annoyances with fairly easy workarounds are simply galling." ってことだそうだ。


Single closing quote というか apotrophe は、annoyance のひとつ。

さてさて、そのような annoyances のひとつが、apostrophe まわりと言うか SmartQuotes まわりにある。英語では、SmartQuotes というらしいが、これは、single quote やら double quote やらの向きを "smart" に判断して、適切な向きに変えてくれるもの。 double quote の方は、問題ないのだが、single quote の方は、問題がある。いわゆる短縮形の場合等に用いられる single closing quote だ。例えば、Drag 'n' Drop とか '04 みたいな書き方をしようとすると面倒なことになる。以下、このような用法の single closing quote を apostrophe と呼ぶことにする。

で、どうするかだが、潔くこの機能を諦めて、このオプションを外してしまうのもありかもしれないが、それなりに便利な機能だけに、なんとかしたいものだと考えるのもありだろう。

Word97 Annoyancesの著者たちが、やったこと

そこで、彼等は、TypeApostrophe という下のようなマクロList 1を書き、そのマクロをキーボードの apostrophe のキーに割り当てるという解決策を考えついた。

List 1

Public Sub TypeApostrophe()
    Selection.TypeText Chr$(146)
End Sub

このマクロを apostrophe のキーにアサインするのだが、普通の方法ではできない。普通の方法とは、メニューから[ツール]-[ユーザー設定]として出てくるダイログの中の、[キーボード]ボタンをクリックして、そこで現れるダイアログで設定する方法のこと。ここのダイアログでは、一般に単独のキーにマクロなどをアサインすることができない。でも、マクロを使えば、単独のキーにアサインできる。著者たちは、下のようなマクロList 2を一回だけ走らせることで、 apostrophe キーに TypeAostrophe マクロをアサインしている(ようだ)。

List 2

Private Sub temp()
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCategory:=wdKeyCategoryMacro, _
    Command:="TypeApostrophe", _
    KeyCode:=BuildKeyCode(Arg1:=wdKeySingleQuote)
End Sub

(ちょっと、ご注意。著者たちによると List 2を実行すると妙なことが起る場合があるとのこと。ツールバーに何かユーザー設定してあるとそれが見かけ上無効になり、標準の normal.dot のツールバーで置きかわったように見えてしまうらしい。一旦、(必要があればファイルを保存した上で)Word を終了して、再び Word を起動し直せば、もとに戻るとのことなので、パニックる必要はない(らしい)。)

バージョンの違いのせいか英語版と日本語版の違いのせいか...

実際に上の List 1 や List 2 を試してみるとうまくいかないようなので、いろいろやってみた結果、そこそこのものができたと思う。

(うまく行かない理由が分かった。バージョンの違いというか Unicode の対応といういか。Unicode では、single closing quote は、&H2019 ってことらしい。だから、上の List1 の Chr$(146) を ChrW(&H2019) とすればよい。下で、InsertSymbol でうまく行っているのは、unicode:=False としているからのようだ。ちなみにChr$()は、日本語版にはないようだ。使ってもエラーにはならない。ChrW() は、unicode 対応? 2006-01-08 加筆。)

まず、Word 97 Annoyances では、次のように書いてあるが、これは、手元の Word 2002 では、解決策がある。

"There is no way we could find --- either manually or in a macro --- to reset a single key assignment." (p186)

Findkey プロパティと clear メソッドを使えばよい。

Public Sub ClearApostrophe()
  CustomizationContext = ActiveDocument
  FindKey(BuildKeyCode(Arg1:=wdKeySingleQuote)).Clear
End Sub

次は wdKeySingleQuote だが、これは、英語版の Word では、確かに single quote というか、apostrophe (日本語のキーボードの場合は、たいてい、数字キーの7のところにあるやつ)を表しているようなのだが、なぜか日本語環境だと、"^" のことを表わすらしい。

次は、TypeText メソッドについて。List 1 で使われている TypeText メッソドを使うとなぜかうまくいかない。なぜだろう?で、InsertSymbol メッソドを使い、下のように、フォント名を指定しないで InsertSymbol すると、なぜか日本語のフォントになってしまう。

Selection.InsertSymbol CharacterNumber:=146, Unicode:=False

だからといって、下のように、フォント名を指定すると、汎用性が犠牲になる。つまり、その文書でどのフォントを用いていても、必ず指定されたフォントの apostrophe が挿入されることになる。

Selection.InsertSymbol CharacterNumber:=146, Font:="Century", Unicode:=False

これは、日本語版の Word では、英文用のフォント(NameAscii (NameOther も?))と日本語用のフォント(NameFarEast)それぞれについて、別々にデフォルトのフォントを指定できることに問題のもとがある。

だから、下のように、一旦英文用のフォント名を獲得しておいてから、その値を InsertSymbol する必要がある。

fName = Selection.Font.NameAscii
Selection.InsertSymbol CharacterNumber:=146, Font:=fName, Unicode:=False

Normal.dot になんでもかんでも入れちゃうってのもね...

Normal.dot は、あまり「汚し」たくないので、特殊なことをするためには、適当なテンプレートをこしらえて、そこの中で、keybinding をしたい。だから、適当なテンプレートに Document オブジェクトの new イベントを利用して、下のようなマクロ(イベントプルシージャ)を書く。(イベントプロシージャをどこに書いたらよいのかについては、各自調べてほしい。)

Private Sub Document_New()
CustomizationContext = ActiveDocument
KeyBindings.Add KeyCategory:=wdKeyCategoryMacro, _
    Command:="TypeApostrophe", _
    KeyCode:=BuildKeyCode(Arg1:=wdKeySingleQuote)
End Sub

このようにすれば、このテンプレートを用いて、新しく文書を作成するたびに、このマクロが実行され、その文書の KeyBinding だけ変更するようにできる。ついでに、Document_Open も設定すれば、このテンプレートを用いて作成した文書を再度開く時にもキーバインディングを変えられる。

以上
この記事の改訂情報
2006-01-08 加筆 Unicode と Chr$(), Chr(), ChrW() について
2006-01-08 加筆 KeyBinding を設定する際、Document_Open も用いると良い
2005-12-15 加筆 Single Quote を入力するショートカットについて
2004-06-24 公開開始

| | コメント (0) | トラックバック (0)

Linux Zaurus SL-C860 の電源

Linux ZaurusISBN B00011KNYQSL-C860 の電池は、それなりに大容量のようだけど、3時間ぐらいしかもたない感じ。単3とか単4とかその辺のコンビニで簡単に入手できるような電池なら、電源の心配は要らないのだが、専用バッテリーだと電池を使い切ったときに単なる映りの悪い歪んだ「手鏡」にしかならない。(SL-C860 の液晶画面は電源が切れた状態だと黒いし、光沢があるので、覗き込むと自分の顔が映る。シクシク。)

で、どうするか。正攻法としては、予備のバッテリを確保しておくのだろうけど、例えば大容量リチウムイオン充電池 EABL08KISBN B0000A1XRM大容量リチウムイオン充電池 EABL08Kは、定価だと 10,500円(税込)もする。それに、予備のバッテリを用意したところで、そいつも放電しちまったら、それまでのこと。


探してみたら、いろいろあるようだ。

| | コメント (0) | トラックバック (0)

「SANTENDO MINI は、なかなか快適」のその後。

「SANTENDO MINI は、なかなか快適」という記事を5月26日に書いた。その続報。

Cirque の touchpad のドライバを入れると、タッチパッドの左辺をこすると Internet Explorer や Word などで、フォントの大きさが、変わる。

便利便利。


| | コメント (0) | トラックバック (0)

howm で、enriched-mode が使えるとうれしいかも。

howm: Hitori Otegaru Wiki Modoki

howm なファイル(つまり、*.howm なファイル) を、新規に(つまり、C-c , c して)作って、M-x enriched-mode として、適当な色を付けようかと思っても、つかない。でも、いったん閉じて、C-x C-f して開くと、ちゃんと色が見える。

なんとか howm と enriched-mode と共存させられないものだろうか?

| | コメント (0) | トラックバック (0)

ペンサイズのスキャナ:DocuPen Handheld Scanner

picture of DocuPen
DocuPen Handheld Scanner and Portable Scanner

こいつは、ほしすぎる。ペンサイズのスキャナだ。メモリを2MB内蔵で電池で動く。100ページ分、スキャンできるらしい。図書館などで「このページだけコピーしたいんだけどな」なんて時に、コピー機の前まで行って、もし先客が居れば並んで、さらに、1枚10円払って、コピーするのって、馬鹿馬鹿しい。そんな時、こいつを持っていれば、スルスルっとページをなぞるだけで、スキャンできて、後でパソコンに取り込んで、OCRなんてことも可能。


6月1日から7日の期間、本来 $199.99 のところ $159.99 らしい。サイトの直販では、USA と Canada にしか発送しないらしい。とほほ。

ほしすぎる。

| | コメント (3) | トラックバック (0)

« 2004年5月 | トップページ | 2004年7月 »