連載
» 2015年12月17日 05時00分 UPDATE

VBA/マクロ便利Tips:ExcelWord連携の基本――ExcelからWordを開く、WordからExcelを起動させる (1/2)

業務効率化に役立つVBA/マクロのさまざまなTipsをコード例を交えて紹介していきます。今回からExcelとWordを連携するテクニックを紹介していく。初回は連携の基本としてExcelからWordを開く方法と、WordからExcelを開く方法を解説する。

[薬師寺国安,PROJECT KySS]
「VBA/マクロ便利Tips」のインデックス

連載目次

※本Tipsの環境:Windows 8.1 Enterprise(64ビット)+Excel 2013+Word 2013


 今回からExcel 2013(以下、Excel)とWord 2013(以下、Word)の連携VBA Tipsを数回に分けて紹介する。

 今回は、連携の基本である、ExcelからWordを起動させる方法と、WordからExcelを起動させる方法を解説する。

ExcelからWordを起動させる

 まずは、ExcelからWordを起動させる方法だ。

 事前に、「C:\Word2013Data」というフォルダーを作成して、その中に「Excelから起動させたWord文書.docx」を配置しておいてもらいたい。このWord文書をExcelから起動させるので、忘れないようにしていただきたい。このフォルダーとファイルが存在しないと、もちろんエラーになるので、注意してほしい。

 開くWord文書には何か内容を適当に書いておいてほしい。

ボタンの設置

 Excelを起動させて、「Sheet1」に、Excelメニューの「挿入」→「図形」と選択して、「角丸四角形」を配置する。「角丸四角形」を選択して、マウスの右クリックで表示されるメニューから「テキストの編集」を選択すると、「角丸四角形」内に文字の入力が可能になるので、「Word2013の起動」と入力する。

 「角丸四角形」を選択状態にして、Excelメニューの「ホーム」にある、「フォントの種類」に「Meiryo UI」、「フォントサイズ」に「18」、「フォント太さ」に「太字」、「文字位置」に「中央揃え」を指定する(図1)。

EXLWord1_01.png 図1 「角丸四角形」に書式を指定した

Excelにマクロが含まれる場合の拡張子は「.xlsm」

 ここで、現在作成中のExcelファイルを保存しておこう。

 Excelメニューの「ファイル」→「名前を付けて保存」と選択する。ファイル名は「Excel_Word連携VBA.xlsm」としておく。

 マクロが含まれる文書になるので、必ず拡張子は「.xlsm」という拡張子で保存しておく必要がある。この点は十分に注意しておこう。

VBEを起動して、VBAを記述する

 Excelメニューの「開発」を選択すると、左端に「Visual Basic」のメニューが表示されるので、これをクリックする。するとVBE(Visual Basic Editor)の画面が表示される。

参照の設定

 今回はExcelからWordを扱うので、「参照の設定」を行う必要がある。VBEのメニューから、「ツール」→「参照設定」と選択し、表示される画面から「Microsoft Word 15.0 Object Library」にチェックを入れる。

 図2では、筆者がすでにチェックを付けているため、上位に「Microsoft Word 15.0 Object Library」が位置しているが、チェックをしていない場合は、下の方に表示されているので、探してチェックを入れる必要がある(図2)。

EXLWord1_02.png 図2 「Microsoft Word 15.0 Object Library」にチェックを入れる

 「OK」ボタンをクリックして、「参照設定」は完了だ。

Moduleの追加

 VBEのメニューから、「挿入」→「標準モジュール」と選択する。すると、「プロジェクト」内に「Module1」が追加されるので、これを選択して、表示される画面内にリスト1のコードを記述する。

Sub Wordの起動()
  Dim myWord As Word.Document
  Set myWord = GetObject("C:\Word2013Data\Excelから起動させたWord文書.docx")
  myWord.Application.Visible = True
End Sub
リスト1 ExcelからWordを起動させるコード

 まずは、Word.Document型の変数myWordを宣言する(2行目)。

 GetObjectメソッドでActiveXオブジェトへのを取得するファイル名を指定して、変数myWordにセットする(3行目)。

 4行目で、GetObjectメソッドで参照したWord文書を表示する。

実行結果

 リスト1を、図1のボタンと関連付け実行すると、図3のようにWord文書が開く。

EXLWord1_03.png 図3 ExcelからWord文書を開いた
       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。