|
Excelのブックを指します。ブックを複数開かないで、ただ一つのブックを操作するのであれば、Workbook オブジェクトは省略されることが多いのですが、複数のブックを同時に開いて扱う場合は省略できません。省略するとアクティブになっているブックが処理されます。Workbook オブジェクトの指定の方法がいろいろあるので、説明しましょう。
book1.xls と book2.xls を開いていて、
book1.xls がアクティブな場合
| book1.xls に記述された |
Workbooks("book1.xls") |
→ book1.xls を指す |
| Workbooks("book2.xls") |
→ book2.xls を指す |
| ThisWorkbook |
→ book1.xls を指す |
| ActiveWorkbook、または省略 |
→ book1.xls を指す |
| book2.xls に記述された |
Workbooks("book1.xls") |
→ book1.xls を指す |
| Workbooks("book2.xls") |
→ book2.xls を指す |
| ThisWorkbook |
→ book2.xls を指す |
| ActiveWorkbook、または省略 |
→ book1.xls を指す |
book2.xls がアクティブな場合
| book1.xls に記述された |
Workbooks("book1.xls") |
→ book1.xls を指す |
| Workbooks("book2.xls") |
→ book2.xls を指す |
| ThisWorkbook |
→ book1.xls を指す |
| ActiveWorkbook、または省略 |
→ book2.xls を指す |
| book2.xls に記述された |
Workbooks("book1.xls") |
→ book1.xls を指す |
| Workbooks("book2.xls") |
→ book2.xls を指す |
| ThisWorkbook |
→ book2.xls を指す |
| ActiveWorkbook、または省略 |
→ book2.xls を指す |
ThisWorkbook は、ThisWorkbook と記述しているモジュールを格納したブックを指します。省略したり、ActiveWorkbook を記述した場合はアクティブなブックを表します。
Sub Sample1()
With ThisWorkbook
MsgBox "このブックの名前 : " & .Name & vbCr & "このブックのフルネーム : " & .FullName
End With
End Sub
ThisWorkbook や ActiveWorkbook の扱いに慣れないうちは、Workbooks("book1.xls") のようにブックの名前を直接記述した方が良いでしょう。
|