VBA

VBA for Word



McrTool

Wordの文書作成で物足りなさを感じている部分を補うマクロツールを作成しました。

「全角半角の変換」

文章中の全角半角を変換するときは、[書式]-[文字種の変換..]を利用するのが一般的ですが、 変換できる文字を全て変換してしまうため、あまり使い勝手が良くありません。 本プログラムにより、文字種別に全角半角を設定することができます。 メインメニューからは全文一括処理のマクロ、 書式設定ツールバーからは選択範囲内の処理マクロを起動できます。

「コマンド文の変換」

Wordの置換コマンドでは文字列内の上付き・下付きを設定することができません。 このままだと文章中に多数の化学式がある場合など、 コピー&ペーストを何度も繰り返さなければならなくて非常に面倒です。 本プログラムでは、数式フィールドを使わずにTEXのようなコマンド文を記述して、 単位(例:m3)や化学式(例:CO2)の上付き・下付きを設定します。 メインメニューからは全文一括処理のマクロを起動できます。 書式設定ツールバーには組み込みの上付き下付きツールを割り当てます。


機能一覧
●[全角半角の変換] :アクティブ文書の本文・脚注等内の全角・半角を設定します。
-[全て→半角]
-[全て→全角]
-[英数字→半角]
-[英数字→全角]
-[アルファベット→半角]
-[アルファベット→全角]
-[数字→半角]
-[数字→全角]
-[文字種別指定]:文字種別に全角・半角を設定する。

ボタンの沈んだ文字種は全角に、それ以外は半角に変換します。 [ALL]ボタンで全ての文字種を一度に設定することもできます。

●[コマンド文の変換] :TEXのようなコマンド文を記述して、それに基づきアクティブ文書の本文・脚注等を検索し、 単位(例:m3)や化学式(例:CO2)の上付き・下付きを設定します。 コマンド文の書式については、データファイル[ConvData.txt]を参照してください。
-[データファイルから] :コマンド文のデータファイルをもとに書式の設定を行います。 データファイル[ConvData.txt]はプログラム本体[McrTool.dot]と同じフォルダに置きます (同じフォルダにないと、実行するたびに指定しなければなりません)。
-[データファイルを元に一括処理] :データファイル内のコマンド文を読み込み、一括処理します。
-[データファイルを開く] :データファイルを開きます。
-[選択したコマンド文から] :本文中に記述したコマンド文(例:CO$_2$)を選択し、これをもとに書式の設定を行います。 段落をまたいで選択していると、処理は行いません。
-[変換後文字列の検索・設定] :例えば「CO$_2$」を選択していると、 「CO2」を検索し、「CO2」に書式を設定します。
-[コマンド文の検索・置換・設定] :例えば「CO$_2$」を選択していると、 「CO$_2$」を検索し、「CO2」へ置換・書式設定を行います。
実行画面


使用方法

起動はメインメニューの[MacroTools]です。

[\Program Files\Microsoft Office\Office\Startup]に置いておくと、 Word起動時に自動的に読み込まれます。 あるいは、メインメニューの[ツール]-[テンプレートとアドイン...]から登録できます。

テンプレート形式にしてありますが、パスワードは設定してありません。 テンプレートとして起動するとプロジェクトにロックがかかってコードを開けませんが、 ファイル自体をダブルクリックして開くとVBEから修正できます。

注意事項

Office2000,XPの場合は[ツール]-[マクロ]-[セキュリティ]から セキュリティダイアログボックスを呼び出し、セキュリティーレベルを[中]に設定してください。 ファイルを開くときに、マクロを有効にするか問い合わせがあるので [マクロを有効にする]を選択してください。

実際に使用する前にテストを行って、 どのように動作するのか把握しておいて下さい。 一応、UnDoはできるようですが、 こまめにセーブをするなどして、注意して使用して下さい。 また、勝手に保存されてしまわないように、 「自動保存」をOffにしておいた方がよいでしょう。 なお、本プログラムによってどのような障害が出たとしても、 作者は一切の責任を負いません。

テンプレートおよびそのソースコードに関する著作権はDamfinoにあります。 作者の許可なく配布、掲載、販売を目的に利用することを禁じます。

Download

クリックしてファイルに保存して下さい。 lzh形式で圧縮してあるので、lhasaなどで解凍してください。 --->McrTool_wd.lzh

最後に

初めてのWord&VBAアプリケーションです。 Excelとはかなりオブジェクトの構造が異なり(特にRangeオブジェクト関連)、 ヘルプも貧弱なうえ、参考書もほとんど出ておらず、 非常に苦労しました。 参考書としては、

[1] Michael Halvorson, Chris Kinata,「Word97 Visual Basic ステップバイステップ」,Microsoft Press,1997
[2] 大野悟&アトラス出版企画,「10日でおぼえるWord VBA入門教室」,翔泳社,1999

ぐらいしか手に入りません。 しかしながら、[1]はバージョンが古いとかいう以前に、 ヘルプファイルのダイジェスト版のような内容で、ほとんど使い物になりません。 (Excelのステップバイステップはとてもいい教科書だったのに・・。) [2]は内容的にはいいんですが、既に絶版のようで、書店の在庫が切れたら終わりという状況です。 もうちょっとどうにかならんのですかね。

他に、「こんな機能が欲しい」というようなご希望が あればメール・BBSでお知らせ下さい。



Program Top