Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAでCopyメソッドの戻り値は??

Word VBAでCopyメソッドの戻り値は??

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

「VBA wordコピーメソッド 戻り値」
といった検索キーワードでアクセスがありました。

Word VBAの何らかのオブジェクトが持つCopyメソッドの戻り値が何なのか、調べていた方による検索です。

Copyメソッドを持つオブジェクトは複数ある

オブジェクトブラウザーで検索すればわかるとおり、Word VBAにはCopyメソッドの用意されているオブジェクトが、下図のとおり複数あります。

オブジェクトブラウザーで「Copy」を検索した結果

「VBA wordコピーメソッド 戻り値」
だけでは、どのオブジェクトのCopyメソッドかわかりませんので、ここではSelectionオブジェクトとRangeオブジェクトについて解説します。

Selection.CopyもRange.Copyも戻り値はない

オブジェクトブラウザーの詳細ペインに「Sub Copy」と表示されているとおり、

Word.Selection.Copy

Word.Range.Copy

Selection.Copyメソッドも、Range.Copyメソッドも戻り値はありません。

戻り値がないことをプロシージャで確認する

Selection.CopyにもRange.Copyにも戻り値がないことは、簡単なSubプロシージャで確認できます。

Sub sample()
 Dim tmp
 tmp = Selection.Copy
End Sub

以上のようなSubプロシージャを作成して、VBEのメニュー[デバッグ]-[VBA Projectのコンパイル]を実行すると
「Functionまたは変数が必要です。」
といったコンパイルエラーが発生します。

Selection.Copyには戻り値がないにもかかわらず、代入を行おうとしているためです。

最終更新日時:2022-01-26 15:48

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAでCopyメソッドの戻り値は??

「Selection」の記事一覧

検索


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

.