VBAとは、ExcelマクロやWordマクロを作るためのプログラミング言語です。最近はVBAでマクロを作ることをしていないので、VBAの書き方を忘れています。基本中の基本、基礎の中の基礎なども、あやしくなっています。
今回、改めて復習した基礎的知識があります。
それは、
保存しているExcelワークブックを開く操作
保存しているWord文書を開く操作
のコードです。
ワークブックを開くVBAコードは、
Workbooks.Open Filename: = "D:¥Hoge.xlsx"
文書を開くVBAコードは、
Documents.Open Filename: = "D:¥Hoge.docx"
です。
上記の
Workbooksは、現在開かれているすべてのブック(Excelファイル)のコレクション(集合体)のこと、
Documentsは、現在開かれているすべての文書(Wordファイル)のコレクション(集合体)のこと
です。
ここで、
「あれれ?なんで?」
って、疑問が出てきました。
やろうとしているのは、保存しているブックや文書のOpenです。開いていない既存ファイルを開く操作です。
すでに開かれているブックや文書を開くわけではない。つまり、操作対象は、開かれているファイルではありません。
なのに、
なぜ、現在開かれているブック全体を指すWorkbooksのOpenなのか
なぜ、現在開かれている文書全体を指すDocumentsのOpenなのか
って、疑問になったのです。
答えは、オブジェクトブラウザーを見れば解決します。
Openメソッドは、Workbooksコレクションや、Documentsコレクションのメンバーなのです。
Workbooksコレクションに用意されているメソッド、Documentsコレクションに用意されているメソッド、です。
私が、「なんで?」って言ったって、そのように決められています。抵抗の余地はありません。
現在開かれているファイルのコレクションに、新たにファイルを開いて、コレクションにファイルを加える、それが、
Workbooks.Open
Documents.Open
というわけです。
そう理解すれば納得できるし、覚えることもできます。
このことは、ファイルを新規に開く操作「Add」も同じです。
新規ファイルを開く操作は、
Workbooks.Add
Documents.Add
と書きます。
これも、Workbooksコレクションに新規ブックを追加する、Documentsコレクションに新規文書を追加する、って理解すればよいわけです。
それでは、また次の記事で
■■■■ goosyun ■■■■
最近の「VBAプログラミング・マクロ」カテゴリーもっと見る
最近の記事
カテゴリー
バックナンバー
人気記事