◆ 「マクロとは何ぞや?Wordマクロ入門」
◆ 「マクロを記述するツール・VBエディター」
◆ 「Wordマクロの基礎の基礎・オブジェクトとプロパティ」
◆ 「Wordマクロの基礎の基礎・メソッド」
◆ 「Wordマクロ 処理対象の特定(VBAの基礎)」
◆ 「Wordマクロの自動記録機能」
などなど・・・・・。
今回はこれまでのことを基礎にして、Wordマクロの具体例を取り上げます。
新規Word文書(Document)作成や、保存されている文書を開くマクロです。
【第1】 新規文書を作成する。
新規文書を作成するときには、Documentsコレクションに対してAddメソッドを使います。Addメソッドは、コレクションに新しいメンバーを追加するメソッドです。
そのマクロコードは、次のとおりとなります。
Sub 文書作成()
Documents.Add
End Sub
【第2】 文書を開く
文書を開くときには、保存場所を文書名に含めて開く方法と、あらかじめカレントフォルダを変更してから、そのカレントフォルダにある文書を開く方法の2種類があります。
1 保存場所を特定して文書を開く
保存されている文書を開くときには、Documentsコレクションに対してOpenメソッドを使います。
次のプロシージャは、「D:¥WordVBA」フォルダの中の「Hoge.docx」文書を開きます。
Sub 文書開く1()
Documents.Open FileName:= "D:¥WordVBA¥Hoge.docx"
End Sub
このように、文書名の前に、ドライブ名とフォルダ名(パス)を指定します。
なお、上記で「¥」は全角文字を使っているのですが、実際のマクロコードには半角文字で記述します。
2 カレントフォルダの文書を開く
カレントフォルダとは、現在選択されているフォルダのことです。
カレントフォルダに保存されている文書を開くときには、ドライブ名やフォルダ名を省略できます。
次のプロシージャは、カレントフォルダの中の「Hoge.docx」文書を開きます。
Sub 文書開く2()
Documents.Open FileName:= "Hoge.docx"
End Sub
このようにカレントフォルダの文書を開くには、ドライブ名やフォルダ名(パス)を指定する必要がありません。
(なお、カレントフォルダの文書を開くときでも、保存場所を記述することは支障ありません。)
【第3】 なぜコレクションなのか。
文書を開く場合、開くのは単体の文書なので、コレクションでなくDocumentオブジェクトに対してOpenメソッドを使うのが正しいと思いがちです。
つまり、
Documents("Hoge.docx").Open
と、つい書いてしまいます。
しかし、これは誤りです。
VBAでは、あくまで「文書を開くとは、Documentsコレクションに新メンバーが加わることである」と解釈しています。よって、Documentsコレクションに対してOpenメソッドを使用するのです。開く文書名は、FileName引数に指定することになります。
Anker USB3.0 ウルトラスリム 4ポートハブ 【USB3.0高速ハブ / バスパワー/軽量/コンパクト】 | |
Amazon価格:¥1,399 | |
Anker |
それでは、また次の記事で。
《2019年11月5日追記》
文書を閉じるマクロの記事も書きました。
⇒ こちらの記事をご覧ください。