Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » Word VBAでContent.Copyとは

動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2003 ビルド12624.20466 Microsoft Store)

「word vba content.copy」
という検索キーワードで、このサイト『インストラクターのネタ帳』へのアクセスがありました。

[スポンサードリンク]

Word VBAの、
  ActiveDocument.Content.Copy
といったコードを、どこかで見かけた方による検索でしょう。

Content.Copyの挙動を確認する

「ActiveDocument.Content.Copy」は、Word上でショートカットキー[Ctrl]+[A]を押してから[Ctrl]+[C]を押すのと、似た挙動を行うコードです。

手を動かして確認しましょう。
まずは以下のSubプロシージャを作成してください。
Sub sample()
  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文書の本文部分を選択はせずにコピーだけを行った(貼り付けは行っていない)状態にするコードということになります。

最終更新日時:2020-04-29 02:09

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » Word VBAでContent.Copyとは

TrackBack:0

TrackBack URL

Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » Word VBAでContent.Copyとは

Copyright © インストラクターのネタ帳 All Rights Reserved.

.