Microsoft Word マクロ

|

振り替え休日の今日一日,misima を Microsoft Word から操作するための方式について考えていた。Word で選択した文字列をマクロによって旧仮名・旧字に変換し,置き換える工夫である。

オライリー・ジャパンから発行されている Andrew Savikas 著『WORD HACKS』(2005年7月刊) ですでにヒントを得ていた方法を試してみた。Word マクロから Perl スクリプトを起動し,クリップボード経由で取得した文字列を変換して,再びクリップボードに書いて,Word 原稿の選択文字列を置換する技が掲載されている。これを応用して Perl スクリプトから misima SOAP サーバに処理要求を発行して,戻りテキストを貼付ければよいわけである。

久しぶりに X40 の Windows XP を起動して,Word 2003 のマクロをコーディングする。全く VBA の文法に疎いのだけれども,『WORD HACKS』の例をよく読めば理解できる範囲でマクロができた。一方,Perl プログラムは Win32::Clipboard を取込んで,クリップボードテキストを操作するテストコードを書いた。

試験してみると,Word に貼付けたプログラム出力が文字化けしてしまう。いろいろ調べた結果,Win32::Clipboard で取得したテキストは Unicode でなく SJIS のようである。なにかエンコーディングを指定する手だてがないか探したが見あたらない。

Java AWT パッケージの datatransfer API という手段を考えるか。VBA, InfoPath XML ベースの正攻法でいくか。もうしばらく思案が必要である。

Word Hacks―プロが教える文書活用テクニック
アンドリュー サビカス Andrew Savikas, 日向 あおい[訳]
オライリージャパン (2005/07)

(11.2 付記:misima Word 2003 クライアントは結局 Microsoft Office XP Web Services Toolkit 2.0 を使ってしごく簡易にできた。10.8 記事「misima Microsoft Word クライアント」を参照。)

Moon Calendar

Profile

ISAO YASUDA。システムエンジニア。神奈川県在住。昭和 30 年代を懐かしむオヤジ。ロシアに興味があります。
[more], [About our site]

Notice

この文書はフィクションであり,実在する個人,団体等とは一切関係ありません。

R-18 指定サイトです。そのうち「18 歳以上ですか」の認証を入れる予定です。

文書の記述内容は無保証です。不適切な表現があればコメントにてご指摘ください。

コメント,トラックバックは,現在,運用を停止しています。ご意見等ありましたら isao@yasuda.homeip.net 宛電子メールにてお願いします。

Links

About this entry

Written by isao at 2007年9月24日 23:39.

Previous: misima-2.3f 公開

Next: レティシア・ランドンのロマンス論

Recent Entries in Main Index.
All Entries in Archive Index.

February 2012

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
Powered by Movable Type 4.1 blog counter