アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記は、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で出ます。

A 回答 (2件)

エラーは同じ箇所で出るのですか?


Pasteメソッドには引数はないと思いましたたが。Pasteのどこかにカーソルを置いてF1キーを押せばヘルプが見えます。確認してみてください。
もし他の場所にでるなら同様に確認しながら修正する訳ですが、2000と2007の両方で使うなら逆に2007で動くかも確認する必要があります。
判らなくなったらまた質問してください。
    • good
    • 0
この回答へのお礼

Pasteメソッドには引数はありませんでした。
引数を削除するとうまく動きました。
再度の回答およびヘルプの使い方も教えて頂き、本当に有難うございました。

お礼日時:2009/03/31 21:07

こんにちは。



日がたっているのですでに自己解決されているかもしれませんが、
Word2000のRangeオブジェクトにはPasteAndFormatというメソッドが
ないのではないでしょうか。それとwdPasteDefaultという定数も。

OfficeのVBAはバージョンによってあるものないもの、また仕様が
異なるものがあります。これらもおそらくあとから追加されたもの
でしょう。

ただ単に貼り付けるだけならPasteメソッドで代用できないですか?
書式はExcel側で事前に設定するか、Paste後に直すしかないように
見えます。

なかなかいい参考URLは見つけられませんね。もし今後も異なる
バージョンのOFFICEに絡んで開発されるのでしたら一般の解説書にも
それぞれどのバージョンに対応しているかを記述した辞書的なものが
ありますので、手元において参照しながら進められるとよいのではと
思います。
    • good
    • 0
この回答へのお礼

回答有難うございました。
Word2000のRangeオブジェクトにはPasteAndFormatというメソッドとwdPasteDefaultという定数がありませんので、ご指摘どおりにPasteメソッドに変えてみたのですが、今度は「引数の数が一致していません。または不正なプロパティーを指定しています。」のコンパイルエラーが出ました。
具体的に、どう直せば良いか教えて頂いたら嬉しいのですが。
自己啓発で業務の合間に色々VBAにチャレンジしている初心者につき、よろしくお願いします。

お礼日時:2009/03/29 16:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!