- Home ›
- Excel VBA入門 ›
- ブックの参照
アクティブブックのオブジェクトを取得
ブックのオブジェクトを取得するには、インデックス番号かブック名を指定してWorkbookオブジェクトを取得していましたが、現在アクティブになっているブックのWorkbookオブジェクトを取得するためのプロパティが用意されています。ここでは Excel VBA でアクティブブックのオブジェクトを取得する方法について解説します。
(Last modified: )
アクティブブックのオブジェクトを取得する
現在アクティブになっているWorkbookオブジェクトを取得するには、Applicationオブジェクトの「ActiveWorkbook」プロパティから取得します。
Dim book1 As Workbook Workbooks(1).Activate Set book1 = Application.ActiveWorkbook
Applicationオブジェクトを省略した場合でも、デフォルトの設定値がApplicationオブジェクトですので記述してもしなくても構いません。
サンプルプログラム
では簡単なサンプルで試してみましょう。
Sub テスト() Workbooks.Open "C:¥excelsample¥2005年成績.xls" Workbooks.Open "C:¥excelsample¥2006年成績.xls" Workbooks("2005年成績.xls").Activate MsgBox ActiveWorkbook.name End Sub
上記マクロを実行すると次のようになります。
今回は「2005年成績.xls」と「2006年成績.xls」という2つのブックを開いた後で、「2005年成績.xls」ブックの方をアクティブに設定しています。そしてアクティブブックのブック名を取得してメッセージボックスで表示しています。
-- --
Excel VBA でアクティブブックのオブジェクトを取得する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。