[Microsoft Office]Word VBA (Excelも同じ)

MicrosoftのWordで数百種類の文字列を一括変換する話がでたので、手動置換じゃ無理だとおもい、VBAで行おうと思います。
まずは、環境準備。
Excelも基本同じだったと思います。(pptxもかな?)

Wordのリボンに開発タブを追加

デフォルトの状態では、Wordマクロ開発のための「開発」タブがリボンに表示されていない。
以下の操作で表示させる。

  • Wordのリボンの「ファイル」から「オプション」を選択
  • 左側のメニューから「リボンのユーザー設定」を選択
  • メインタブの中の「開発」にチェックを入れて「OK」を選択

エディターVBEを起動

Visual Basic Editor(VBE)でコードを書くウィンドウを開きます。

  • リボンの「開発」タブから「Visual Basic」を選択
    ショートカットキー Alt + F11 でも起動可能

ライブラリ追加(必要ならば)

  • VBEのメニューから[ツール]-[参照設定]
    必要なライブラリを追加する
    例えば、Word、Excel、PowerPointすべて使う場合、以下の項目をすべてチェックします。

    • Microsoft Word xx.x Object Library
    • Microsoft Excel xx.x Object Library
    • Microsoft PowerPoint xx.x Object Library

推奨:オプション設定

  • VBEのメニューから「ツール」→「オプション」

    • 自動構文チェック:チェックを外す
    • 変数の宣言を強制する:チェックを入れる
      "Option Explicit"が記載される。
      これは、変数を宣言しないと使えませんという命令
  • 設定後、「OK」を選択

  • VBEのメニューから「挿入」→「標準モジュール」を選択

    • 左側:「プロジェクトウィンドウ」に標準モジュールというフォルダとその配下に「Module1」という標準モジュールが追加される
    • 右側:「コードウィンドウ」が表示される。ここにVBAのコードを実装していく
      ショートカットキー Alt → I → M でも起動可能
  • VBEのメニューの「表示」→「イミディエイトウィンドウ」を選択
    -> コードウィンドウの下部にイミディエイトウィンドウが表示
    ショートカットキー Ctrl + G でも起動可能

補足:
 保存する際は、「Wordマクロ有効文書(*.docm)」として保存する

ワークシートと標準モジュールの違い

ワークシートと標準モジュールの使い分けの基準

  • ワークシート:そのシートに対して操作をするとき
  • 標準モジュール:すべてのシートに対して操作をするとき

コメント

タイトルとURLをコピーしました