「word vba paste 値だけ」
という検索で、このサイト『インストラクターのネタ帳』へのアクセスがありました。
「値だけ」というキーワードを使ってらっしゃることから、Excel VBAに慣れている方でしょうか。Wordの場合は「値の貼り付け」ではなく、「テキストのみ保持」といった表現が使われていますから。
貼り付け操作でテキストのみを貼り付けるマクロを作っておいて、そのマクロにショートカットキーを割り当てて使おうとしてらっしゃるのでしょう。
まず、いつでもテキストのみ貼り付けを行いたいということであれば、マクロを作るよりも[Wordのオプション]ダイアログで貼り付けの設定変更をしてしまうことを、おすすめしておきます。
その上で、テキストのみ貼り付けを行うマクロを作るのであれば、以下のような異なるメソッドを使った書き方が考えられます。
PasteSpecialメソッドでテキストのみ貼り付けを行うサンプルマクロ
Excel VBAに慣れた方なら、SelectionオブジェクトのPasteSpecialメソッドを使う以下のマクロが理解しやすいでしょう。
Selection.PasteSpecial DataType:=wdPasteText
End Sub
Selection.PasteSpecialメソッドの引数・DataTypeに、
WdPasteDataType列挙に定義されている定数・wdPasteTextを指定してやれば、
テキストのみ貼り付けになります。
PasteAndFormatメソッドでテキストのみ貼り付けを行うサンプルマクロ
以下のようなPasteAndFormatメソッドを使ったコードでもOKです。
Selection.PasteAndFormat wdFormatPlainText
End Sub
先のマクロに合わせて名前付き引数を使うとすれば、
Selection.PasteAndFormat Type:=wdFormatPlainText
というコードですが、Selection.PasteAndFormatメソッドの引数は一つしか指定できませんし、
WdRecoveryType列挙に定義されている定数・wdFormatPlainTextを使えば、
意味は理解できますから、名前付き引数を使わない標準引数でいいと感じます。
なお、マクロ記録を行うと、
Selection.PasteAndFormat (wdFormatPlainText)
という、VBAの文法的には必要のないカッコのついたコードが生成されてしまいますが、VBA学習という面からは、こういうところはMicrosoftに是非とも治して欲しいと感じます。
最終更新日時:2022-01-20 13:10
Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAでテキストのみを貼り付ける