今回ももっと最初の方に書くべき内容。。。
ブックを選択するには下記の何れかのように記述する :
Application.Workbooks(ブック番号)
または
Application.Workbooks(ブック名)
複数のブックを同時に開いている場合、ブック番号には、一番左が1、左から2番目が2、
左から3番目が3、...という具合に指定する。
選択したワークシートをWorkbook変数に代入するには
Set Workbook変数 = Application.Workbooks(ブック番号)
または
Set Workbook変数 = Application.Workbooks(ブック名)
と記述すればよい。尚、アクティブになっているブックをWorkbook変数に代入するには、
Set Workbook変数 = Application.ActiveWorkbook
と記述すればよい。また、実行しているマクロが含まれるブックをWorkbook変数に代入
するには、
Set Workbook変数 = Application.ThisWorkbook
と記述する。
以下のサンプルコードは、新規ブックBook1と、既存のブックD:\Temp\Book1.xlsx、
D:\Book3.xlsxを同時に開いた場合の例である :
Sub SampleShowWorkbooks()
Dim bk1 As Workbook
Dim bk2 As Workbook
Dim bk3 As Workbook
Set bk1 = Application.Workbooks("Book1")
Set bk2 = Application.Workbooks("Book1.xlsx")
Set bk3 = Application.Workbooks("Book3.xlsx")
Msgbox "Workbook1 : " & bk1.FullName & vbCrLf & _
"Workbook2 : " & bk2.FullName & vbCrLf & _
"Workbook3 : " & bk3.FullName
End Sub
実行結果は下図の通り :
因みに、ブックを複数開く場合、フルパスが異なっていても同じ名前のブックを開くことは
できないらしい。上記例の場合、一つ目のブックと二つ目のブックが同じBook1であるが
拡張子が異なる為、エラーにならず開くことができるらしい。
0 件のコメント:
コメントを投稿