- ベストアンサー
VBAを使用してエクセルの表をワードに自動入力する方法
- Excel/Word2002を使用して、VBAを使ってエクセルの表をワードのテンプレートに自動入力する方法について教えてください。
- 具体的には、エクセルのA1:C8のセルに入力された表をコピーして、ワードのテンプレートに貼り付ける方法を知りたいです。
- また、特定のテンプレートのパス名を指定してワードを立ち上げる方法についても教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
追加です。 環境をよく見ていなかったので。 .Paste はEXCEL2000以前で Excel2002の場合は .PasteExcelTable True, False, True です。
その他の回答 (2)
- o_chi_chi
- ベストアンサー率45% (131/287)
"テンプレート"にフルパスを設定していますか。 appWDApp.Documents.Open Filename:="C:\Templates.dot"
- o_chi_chi
- ベストアンサー率45% (131/287)
下記のようにワードオブジェクトを生成して 起動したほうが扱いやすくないですか。 ただワードマクロは使った事がないので。。。 --- Sub mCopy() Dim appWDApp As Word.Application Dim objWDDoc As Object Dim rngRange As Range Set rngRange = Application.Range("A1:C8") Set appWDApp = New Word.Application Application.Wait Now + TimeValue("0:00:05") appWDApp.Visible = True appWDApp.Documents.Open Filename:="テンプレート" AppActivate appWDApp.Caption Set objWDDoc = appWDApp.ActiveDocument With objWDDoc With .ActiveWindow.Selection .EndOf Unit:=wdStory, Extend:=wdMove .HomeKey Unit:=wdLine, Extend:=wdExtend rngRange.Copy .Paste Application.CutCopyMode = False End With End With Set appWDApp = Nothing Set objWDDoc = Nothing Set rngRange = Nothing End Sub
お礼
↑↑ 参照設定はわかりました。microsoft Word ** Object Library でいけました。ありがとうございます。 しかし、 >appWDApp.Documents.Open Filename:="テンプレート" でアプリケーション定義エラーとなってしまいます。できましたら追加のアドバイスをお願いします。
補足
o_chi_chi様早速のご回答ありがとうございます。 一行目の >Dim appWDApp As Word.Application で、コンパイルエラー 「ユーザー定義型は定義されていません」 のエラー表示となるのですが・・・ ネットで調べると参照設定の必要があるようなのですが、ご教授いたけませんでしょうか? ご多忙中誠に恐縮ですがよろしくお願いします。
お礼
o_chi_chi様 早速のご回答ありがとうございます。 万事うまくいきました。 大変助かりました。 pasteもエラーがかかっていて悩んでおりました。 今後ともよろしくお願いします。