動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2111 ビルド14701.20262 Microsoft Store)
「VBA wordコピーメソッド 戻り値」
といった検索キーワードでアクセスがありました。
Word VBAの何らかのオブジェクトが持つCopyメソッドの戻り値が何なのか、調べていた方による検索です。
Copyメソッドを持つオブジェクトは複数ある
オブジェクトブラウザーで検索すればわかるとおり、Word VBAにはCopyメソッドの用意されているオブジェクトが、下図のとおり複数あります。
「VBA wordコピーメソッド 戻り値」
だけでは、どのオブジェクトのCopyメソッドかわかりませんので、ここではSelectionオブジェクトとRangeオブジェクトについて解説します。
Selection.CopyもRange.Copyも戻り値はない
オブジェクトブラウザーの詳細ペインに「Sub Copy」と表示されているとおり、
Selection.Copyメソッドも、Range.Copyメソッドも戻り値はありません。
戻り値がないことをプロシージャで確認する
Selection.CopyにもRange.Copyにも戻り値がないことは、簡単なSubプロシージャで確認できます。
Sub sample()
Dim tmp
tmp = Selection.Copy
End Sub
Dim tmp
tmp = Selection.Copy
End Sub
以上のようなSubプロシージャを作成して、VBEのメニュー[デバッグ]-[VBA Projectのコンパイル]を実行すると
「Functionまたは変数が必要です。」
といったコンパイルエラーが発生します。
Selection.Copyには戻り値がないにもかかわらず、代入を行おうとしているためです。
最終更新日時:2022-01-26 15:48
[スポンサードリンク]
- Newer:Fontプロパティを持つExcelのグラフ関連オブジェクト一覧
- Older:XValuesのデータ型は?
Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAでCopyメソッドの戻り値は??