スポンサーリンク

Word VBA の入門用リンク集 (ワードマクロの,サンプルコードやリファレンス)


Microsoft Office Word の作業を,VBAマクロで効率化・自動化する。


Excelは便利だが,文書やドキュメントは,やはりWordで作成されるのが一般的。

自分はWordを使わないけども,他人が作った大量のWordファイルを効率的に処理したい,という場合もある。



Excel VBAに比べて,Word VBAの日本語の情報は極めて少ない。

※知名度の比較:

Excel VBA vs Word VBA
http://www.google.co.jp/trends?q=Exce...


以下は

  • Word VBAの入門コードの簡単なサンプルと,
  • Word VBAの入門リンク集。


コーディングの際,Word付属のヘルプはあてにならない。

しかし英語の情報を含めれば,各種Wordオブジェクトの使い方のマニュアルなども,ちゃんとWeb上に見つかる。


Word 2007に対応。

Wordマクロ入門,最初の一歩

Wordマクロの作成方法/実行方法のチュートリアルとして,以下の手順を試されたい。

Word起動。
Alt + F11を押下する。

Word 2003とWord 2007では大幅にUIが異なる。

メニュー上のボタン経由での開き方よりも,ショートカットキー経由での開き方を覚えておいた方が○。

VBE上で,プロジェクトエクスプローラ>Normal右クリック>挿入>標準モジュール

Module1が作成される。

VBEはExcel VBAとだいたい同じ外観。

※ここでのNormalとは,Normal.dotのこと。Word外部のファイルにマクロが保存されるのである。

Wordのマクロは文書と別のファイルに保存される
http://www.hi-ho.ne.jp/tomita/tips/ti...

Module1内にコードをコピペ
' カーソルのある行を選択状態にします。
Sub select_line()
    Selection.StartOf wdLine
    Selection.EndOf wdLine, wdExtend
End Sub

Ctrl + Sで保存。

Word上に適当な文書(文字列)を書き,適当な行へカーソル移動
マクロ実行

Word2007なら

  • 「開発」タブ>コード>マクロ>select_lineを選択してマクロの実行


→マクロが実行され,行が選択される。

リンク集

マクロ開発時に役立つサイト。



基礎的な動かし方:

Web2.0時代のお仕事Tips:Wordマクロの使い方と登録方法
http://www.hi-ho.ne.jp/tomita/tips/ti...


Word VBA プロシージャ作成入門
http://homepage3.nifty.com/ohno-atlas...



各種マクロを作るときのリファレンス:

Microsoft.Office.Interop.Word 名前空間(この表を見ながら,関係のありそうな名前をググり続ける)
http://msdn.microsoft.com/ja-jp/libra...


Welcome to the Microsoft Office Word 2007 Developer Reference(ドキュメントモデルの図がある)
http://msdn.microsoft.com/ja-jp/libra...


VBA Word:基本的な処理のサンプルコードの一覧表。「新規Wordを開く」など
http://www.ujasiri.com/prglib/vba_wor...


Word VBA:要素の参照方法と,印刷設定
http://reiw.net/note/windows/msword_v...


Word VBA コマンド辞典:オブジェクト・UserFormについて
http://haoki.hp.infoseek.co.jp/word/I...


Word VBAに関するフォーラム / moug Q&A:右側の「フォーラム内検索」を活用すべし
http://www.moug.net/faq/viewforum.php...


サンプルコード(小物):

全テキストボックス中の文字列を置き換える
http://q.hatena.ne.jp/1066371110#a33756


選択中の文字列をGoogle検索する
http://wordvba.cocolog-nifty.com/blog...


サンプルコード(大物):

Word VBAでシューティングゲームを作ろう(Selectionオブジェクトを多用する)
http://www1.plala.or.jp/chikada/excel/


トンボアドインを作ろう(独自クラスの利用方法)
http://www.aa.alpha-net.ne.jp/pcfrien...


ドキュメントモデルの概要図:

  • ActiveDocument:文書全体
    • Paragraph:段落
      • Sentence:文
        • Words:単語
          • Characters:文字
    • Selection:選択箇所
    • Range:選択箇所

簡易説明:Word オブジェクト モデルの概要
http://www.aa.alpha-net.ne.jp/pcfrien...


msdn : Word Object Model Reference(英語)
http://msdn.microsoft.com/ja-jp/libra...


msdn : Word オブジェクト モデルの概要(※Visual Studio 2008から利用する場合)
http://msdn.microsoft.com/ja-jp/libra...



関連する記事:

ドキュメント作成を楽にするための,Excel VBA 頻出8パターン
http://language-and-engineering.hatenablog.jp/entry/20090401/p1


日本人の氏名のテストデータを,Excel VBAでランダムに生成しよう (ひらがなを使った大量のダミーデータ)
http://language-and-engineering.hatenablog.jp/entry/20120328/p1


Excelブックの「シート目次」を,自動的に作成するバッチ (WSH/JScriptで,各シートへのリンク付きの目次を自動生成)
http://language-and-engineering.hatenablog.jp/entry/20110921/p1


「実行可能ドキュメント」が満たすべき性質 − テスト自動化ツール「Excelenium」で使われている技術や手法
http://language-and-engineering.hatenablog.jp/entry/20101112/p1