検索
連載

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

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

Share
Tweet
LINE
Hatena
前のページへ |       

WordからExcelを起動させる

 次に、WordからExcelを起動させてみよう。

 事前に「C:\Excel2013Data」というフォルダーを作成して、「Wordから起動させたExcel.xlsx」というExcelのファイルを配置しておく必要があるので、注意してほしい。

 開くExcelには適当に何かデータを入力しておいてほしい。

ボタンの配置

 Wordを起動して、新規文書上を作る。Wordメニューの「開発」→「コントロール」→「デザインモード」をクリックする。図4のアイコンをクリックして「コマンドボタン」を配置する。


図4 「デザインモード」にして「以前のバージョンのフォーム」から「コマンドボタン」を選択する

 Wordのメニューに「開発」メニューが表示されていない場合は、「ファイル」→「オプション」→「リボンのユーザ設定」から、図5のように「開発」にチェックを入れると、Wordのメニューに「開発」タブが表示される。Wordのデフォルトでは、この「開発」メニューは表示されていないので、この手順で追加してほしい。


図5 Wordのメニューに「開発」メニューを追加する方法

 「コマンドボタン」を選択すると、Word文書上に「CommandButton1」が配置されるので、「CommandButton1」を選択して、マウスの右クリックで表示されるメニューから「プロパティ」を選択する。

 「Caption」に「Excel2013起動」と指定し、「Font」を選択して、「フォント名」に「Meiryo UI」、「スタイル」に「太字」、「サイズ」に「14」と指定しておく(図6)。


図6 「Excel2013起動」用の「CommandButton」を配置した

VBEでVBAコードを記述する

 「デザインモード」の状態で、「Excel2013起動」ボタンをダブルクリックすると、VBEが起動するのでVBAのコードを記述する。

Private Sub CommandButton1_Click()
  Dim ExcelFilename As String
  ExcelFilename = "C:\Excel2013Data\Wordから起動させたExcel.xlsx"
  With CreateObject("Excel.Application")
    .WorkBooks.Open ExcelFilename
    .Visible = True
  End With
End Sub
リスト2 WordからExcelを起動させるコード

 文字列型のExcelFilename変数を宣言し、「C:\Excel2013Data\Wordから起動させたExcel.xlsx」という完全パス付きExcelのファイル名を格納する(2〜3行目)。

 CreateObject関数でExcel.Applicationオブジェクトへの参照を作成する(4行目)。

 Openメソッドで、ExcelFilenameに格納しているExcelのファイルを開く(5行目)。VisibleプロパティにTrueを指定して、Excelを表示する(6行目)。

実行結果

 Wordメニューの「開発」メニューにある「デザインモード」の選択をクリックして、「デザインモード」を解除する。

 「Excel2013起動」ボタンをクリックすると、図7のようにExcelが起動して、指定したファイルが開かれる。


図7 Excelが起動してファイルが開いた

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

 ここで、今作成したWordファイルを保存する。

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

 Wordにマクロが含まれる場合の拡張子は「.docm」になるので注意してほしい。

次回からは、具体的な連携方法を解説

 今回は、ExcelからWordを起動させたり、WordからExcelを起動させたりと、基本的な内容を解説した。次回からは、Excelの表やグラフをWordに貼り付けたり、また逆に、Wordの表をExcelに表示させたりといった連携方法について解説する。

著者紹介

薬師寺 国安(やくしじ くにやす) / 薬師寺国安事務所

薬師寺国安事務所代表。Visual Basicプログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。

1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。

1997年に薬師寺聖とコラボレーション・ユニット「PROJECT KySS」を結成。

2003年よりフリーになり、PROJECT KySSの活動に本格的に参加。.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。

Windows Phoneアプリ開発を経て、現在はWindowsストアアプリを多数公開中。

Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。

Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。

Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。

Microsoft MVP for Development Platforms - Windows Platform Development (Oct 2014-Sep 2015)。


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る