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。システムエンジニア。昭和 30 年代を懐かしむオヤジ。ロシアに興味があります。
[more], [About our site]

Notice

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

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

コメント,トラックバックは,管理者承認を経て公開となります。公序良俗に反すると判断されると,断りなく削除される場合があります。

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.

Web Pages

Powered by Movable Type 4.1