「word vba content.copy」
という検索キーワードで、このサイト『インストラクターのネタ帳』へのアクセスがありました。
Word VBAの、
ActiveDocument.Content.Copy
といったコードを、どこかで見かけた方による検索でしょう。
Content.Copyの挙動を確認する
「ActiveDocument.Content.Copy」は、Word上でショートカットキー[Ctrl]+[A]を押してから[Ctrl]+[C]を押すのと、似た挙動を行うコードです。
手を動かして確認しましょう。
まずは以下のSubプロシージャを作成してください。
ActiveDocument.Content.Copy
End Sub
アクティブな文書に何らかの文章を入力しておいてから、上記のSubプロシージャを実行します。
つづいてメモ帳を起動して、貼り付けのショートカットキー[Ctrl]+[V]を押してください。
すると、Wordに入力しておいた文章が、メモ帳に貼り付けられるはずです。
Word上でショートカットキー[Ctrl]+[A]を押してから[Ctrl]+[C]を押し、メモ帳で[Ctrl]+[V]を押せば、Wordの本文に入力しておいた文字列がメモ帳に貼り付けられます。
このときWordで行う操作[Ctrl]+[A] → [Ctrl]+[C]と似た挙動を(選択せずに)行うのが、
ActiveDocument.Content.Copy
というコードです。
ActiveDocument.Content.Copyの意味
挙動を確認したら、コードActiveDocument.Content.Copyを読解しましょう。
先頭のActiveDocumentは、アクティブなWord文書を表すDocumentオブジェクトを取得する、Word VBAでよく使われるプロパティです。
ActiveDocumentがDocumentオブジェクトを返すのですから、つづく「.Content」は、Documentオブジェクトに用意されているContentプロパティです。
Contentプロパティは、オブジェクトブラウザーの詳細ペインに「As Range」と表示されているとおりRangeを返します。より具体的には、ヘルプに
「メイン文書ストーリーを表すRangeオブジェクトを返します。」
と書かれているとおり、Word文書の本文部分を表すRangeオブジェクトを取得するプロパティです。
最後の「.Copy」は、Rangeオブジェクトに用意されているCopyメソッドを呼んでいることになり、
結局Word文書の本文部分を選択はせずにコピーだけを行った(貼り付けは行っていない)状態にするコードということになります。
最終更新日時:2021-06-21 16:01
- Newer:ActiveSheetを変更するには
- Older:コレクションであることをFor Each~Nextで確認しましょう
Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » Word VBAでContent.Copyとは