下記は、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ランキング
-
Ruby:シルバーについて
-
実行時エラー450:引数の数が一...
-
正規表現で両端に文字列を置換
-
get() と find() の違いについて
-
Csvファイルの最終行を取得する...
-
エラー「メソッドまたはデータ...
-
VBAで型が一致しないエラー(バ...
-
pythonのerrorコード
-
パイソンのクラス
-
No route matches [GET] "/post...
-
Rubyについて質問です
-
ぱいソン
-
VBA/GetTickCountの49.7日の境...
-
Rubyでクラスファイルをディレ...
-
テンプレートの特殊化でコンパ...
-
10円未満を切り捨てる方法は?
-
Ruby 特異メソッドのnewが先に...
-
Ruby
-
ruby:モジュール関数について
-
クラス名やモジュール名の競合...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
get() と find() の違いについて
-
エラー「メソッドまたはデータ...
-
教えてください。vb5.0
-
VBAで型が一致しないエラー(バ...
-
実行時エラー450:引数の数が一...
-
エクセルVBA オートフィルタで...
-
メソッド定義の構文のdefって
-
Csvファイルの最終行を取得する...
-
A1の値をファイル名に指定した...
-
Pythonで複数のメソッドをまと...
-
RubyでバイナリデータをIOスト...
-
Rubyでnet::httpを用いてPOSTする
-
VBからAccessのデータベースを...
-
define_singleton_methodについて
-
RubyのDateクラスのメソッドが...
-
Ruby:シルバーについて
-
pythonで、構文エラー
-
Pythonでcall_user_funcを行う
-
【Ruby on Rails】モデルのメソ...
-
.sub(/.+/,"aaaaaaa#{$&}"の置...
おすすめ情報