アクティブなワークブックを参照
現在使用中のワークブック、複数ある場合は一番手前にあるワークブックを参照するには、ActiveWorkbook プロパティ を使用します。
object.ActiveWorkbook
引数・戻り値
- object ・・・ 対象となる Application オブジェクト を指定します。
アクティブなブックの名前を取得・設定するには?
(例)
ActiveWorkbook.Name
ワークブックを参照する
現在開いているすべてのワークブックを参照するには、Workbooks プロパティ を使用します。
<すべてのワークブックを参照>
object.Workbooks
<特定のワークブックを参照>
object.Workbooks[.Index ] ( index )
引数・戻り値
- object ・・・ 対象となる Application オブジェクト を指定します。
- Item プロパティ は、デフォルトプロパティなので省略可能です。
- index ・・・ インデックス番号またはワークブックの名前を指定します。
(例)
Workbooks.Item(1)
Workbooks(“Test.xlsx”)
インデックス番号は、ブックを開いた順に、1,2,3,… と番号が振られます。
ワークブックの名前を取得・設定するには?
(例)
Workbooks(1).Name
Workbooks(“Test.xlsx”).Name
ウィンドウを参照する
現在開いているウィンドウを参照するには、Windows プロパティ を使用します。
<ウィンドウを参照>
object.Windows
<特定のウィンドウを参照>
object.Windows[.Index ] ( index )
引数・戻り値
- object ・・・ 対象となる Application オブジェクト または、Workbook オブジェクト を指定します。
- Item プロパティ は、デフォルトプロパティなので省略可能です。
- index ・・・ インデックス番号またはワークブックの名前を指定します。
(例)
Windows.Item(1)
Windows(“Test.xlsx”)
インデックス番号は、一番手前のウィンドウから順に、1,2,3,… と番号が振られます。ウィンドウの位置が変わるたびにインデックス番号は変化します。
ワークブックの名前を取得・設定するには?
(例)
Windows(1).Caption
Windows(“Test.xlsx”).Caption
対象オブジェクトが、Application オブジェクト の場合、開いている全てのウインドウが含まれます。Workbook オブジェクト の場合、そのブックのウィンドウのみ含まれます。
マクロを実行中のブックを参照する
現在実行中のマクロが記述されているブックを参照するには、ThisWorkbook プロパティ を使用します。
object.ThisWorkbook
引数・戻り値
- object ・・・ 対象となる Application オブジェクト を指定します。
インデックス番号は、一番手前のウィンドウから順に、1,2,3,… と番号が振られます。ウィンドウの位置が変わるたびにインデックス番号は変化します。
マクロ実行中のブックの名前を取得・設定するには?
(例)
ThisWorkbooks.Name
ActiveWorkbook, Workbooks, Windows, ThisWorkbook プロパティ 使用例
サンプルVBAソース 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Sub Sample_Book() Dim myStr As String 'ActiveWorkbook(アクティブなブック)、Workbooks(1)(最初に開いたブック)、 'Windows(1)(最も手前にあるブック)、ThisWorkbook(マクロ実行中のブック) myStr = "ActiveWorkbook:" & vbTab & ActiveWorkbook.Name & vbCrLf & _ "Workbooks(1):" & vbTab & Workbooks(1).Name & vbCrLf & _ "Windows(1):" & vbTab & Windows(1).Caption & vbCrLf & _ "ThisWorkbook:" & vbTab & ThisWorkbook.Name MsgBox myStr End Sub |