下記は、wordの「@一覧表」文字の部分をExcelで作成した表(B3:E9)に置き換えるEXCEL2007で作成したマクロですが、EXCEL2000で動かすと「メソッドまたはデータメンバーが見つかりません」のエラーが出ます。初心者につき、対処方法を教えて下さい。
Dim wordApp As Word.Application
Dim wordDoc As Word.Document
Dim wordRange As Word.Range
Set wordApp = New Word.Application
Set wordDoc = wordApp.Documents.Open(ThisWorkbook.Path & "\ひな型用ドキュメント.docx")
(途中略)
Set wordRange = wordDoc.Content
wordRange.Find.Execute "@一覧表", Forward:=True
Range("B3:E9").Copy
wordRange.PasteAndFormat (Word.wdPasteDefault) ←エラー
*エラーは、wdPasteDefaultで出ます。
No.2ベストアンサー
- 回答日時:
エラーは同じ箇所で出るのですか?
Pasteメソッドには引数はないと思いましたたが。Pasteのどこかにカーソルを置いてF1キーを押せばヘルプが見えます。確認してみてください。
もし他の場所にでるなら同様に確認しながら修正する訳ですが、2000と2007の両方で使うなら逆に2007で動くかも確認する必要があります。
判らなくなったらまた質問してください。
Pasteメソッドには引数はありませんでした。
引数を削除するとうまく動きました。
再度の回答およびヘルプの使い方も教えて頂き、本当に有難うございました。
No.1
- 回答日時:
こんにちは。
日がたっているのですでに自己解決されているかもしれませんが、
Word2000のRangeオブジェクトにはPasteAndFormatというメソッドが
ないのではないでしょうか。それとwdPasteDefaultという定数も。
OfficeのVBAはバージョンによってあるものないもの、また仕様が
異なるものがあります。これらもおそらくあとから追加されたもの
でしょう。
ただ単に貼り付けるだけならPasteメソッドで代用できないですか?
書式はExcel側で事前に設定するか、Paste後に直すしかないように
見えます。
なかなかいい参考URLは見つけられませんね。もし今後も異なる
バージョンのOFFICEに絡んで開発されるのでしたら一般の解説書にも
それぞれどのバージョンに対応しているかを記述した辞書的なものが
ありますので、手元において参照しながら進められるとよいのではと
思います。
回答有難うございました。
Word2000のRangeオブジェクトにはPasteAndFormatというメソッドとwdPasteDefaultという定数がありませんので、ご指摘どおりにPasteメソッドに変えてみたのですが、今度は「引数の数が一致していません。または不正なプロパティーを指定しています。」のコンパイルエラーが出ました。
具体的に、どう直せば良いか教えて頂いたら嬉しいのですが。
自己啓発で業務の合間に色々VBAにチャレンジしている初心者につき、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) evcel VBAについて 2 2022/08/02 21:37
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) Wordマクロで指定したフォルダ名に保存する方法について 8 2022/12/13 11:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba SelStart、SelLen教えてく...
-
現在のブックを閉じないで、マ...
-
ExcelVBA シート名を複数セルか...
-
ユーザーフォームに別シートか...
-
【VBA】マクロの入ったファイル...
-
VBA listBoxから
-
VBAコンボボックスで選択した値...
-
VBA初心者 Ctrl+での操作、ボタ...
-
VBA実行後に元のセルに戻りたい
-
Excel-VBAのmsgBox()の不思議
-
エクセルのマクロについて教え...
-
FileCopy時のエラー
-
Excelのマクロでワードのテキス...
-
【ExcelVBA】インデックスが有...
-
Outlookの「受信日時」「送信者...
-
VBAで各列の"+"と"o"の合計数を...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
get() と find() の違いについて
-
A1の値をファイル名に指定した...
-
エクセルVBA オートフィルタで...
-
エラー「メソッドまたはデータ...
-
VBAで型が一致しないエラー(バ...
-
教えてください。vb5.0
-
Csvファイルの最終行を取得する...
-
try ~ catch構文が使えない
-
実行時エラー450:引数の数が一...
-
RubyでバイナリデータをIOスト...
-
メソッド定義の構文のdefって
-
rubyのメソッドについて
-
【Ruby on Rails】モデルのメソ...
-
Ruby on Rails 「attr_accessor...
-
COMコンポーネントの構造の本質...
-
Rails4でJSONのParseErrorを判定
-
Pythonでcall_user_funcを行う
-
【C++】DxlibのLoadgraph()を使...
-
正規表現で両端に文字列を置換
-
スレッドとコンテナ
おすすめ情報