2015年4月7日火曜日

ブックを選択する

今回ももっと最初の方に書くべき内容。。。

ブックを選択するには下記の何れかのように記述する :

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 件のコメント:

コメントを投稿