デバッグ機能でチェックしながら実行すると「wddoc.PrintOut」の直前行まではうまくいっている(データのやり取りが機能している)のですが、印刷したword文書を見ると印刷したいエクセルのデータではなくて、(同path内にある)全く別の内容の「お礼状.doc」が印刷されます。
私としてはエクセルデータを「お礼状.doc」に印刷しているつもりです。
参照設定で[microsoft word 16.0 object library]は設定しています。
どなたかご教授ください。
以下構文です。
Sub スマイル4_Click()
Dim cmax, cnt, i, k As Long
Dim path, str As String
Dim wdapp As Word.Application
Dim wddoc As Word.Document
Dim wdrg As Word.Range
Dim c As Long
Dim waitTime As Variant
cmax = Range("B65536").End(xlUp).row
cnt = Range("IV1").End(xlToLeft).Column
Set wdapp = CreateObject("Word.application")
wdapp.Visible = True
For i = 2 To cmax
path = ThisWorkbook.path & "\お礼状.doc"
Set wddoc = wdapp.Documents.Open(path)
waitTime = Now + TimeValue("0:00:03")
Application.Wait waitTime
For k = 0 To cnt - 2
With wddoc.Content.Find
.Text = Range("B1").Offset(0, k).Value
.Forward = True
.Replacement.Text = Range("B" & i).Offset(0, k).Value
.Wrap = wdFindContinue
.MatchFuzzy = True
.Execute Replace:=wdReplaceAll
End With
Next
wddoc.PrintOut
wddoc.Close savechanges:=False
Set wddoc = Nothing
Next
wdapp.Quit
Set wdapp = Nothing
End Sub
No.2ベストアンサー
- 回答日時:
No.1です。
https://www.239-programing.com/excel-vba/basic/b …
にあるようなブレークポイントを設定してその際の状況を調べてみるとかかな?
https://www.239-programing.com/excel-vba/basic/b …
.PrintOut
を
.PrintPreview
にしてみてどうなっているのかを。
No.1
- 回答日時:
印刷しているのは紛れもなく
>path = ThisWorkbook.path & "\お礼状.doc"
>Set wddoc = wdapp.Documents.Open(path)
>wddoc.PrintOut
ですよね。(多分そう言う事での思惑違いかと)
Word文書が最前面にあるのなら、
wddoc.PrintOut
ではなく
ActiveDocument.PrintOut Background:=True
等にしてみるとか?
早速のご教示ありがとうございます。
事情があり、来週の火曜日以降にしか検証できません。折角ご返答いただきながら申し訳ありません。
取り急ぎお礼まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
印刷要求順番と印刷出力順番が...
-
イベントプロシージャ 印刷が...
-
VBscriptでPDFファイルを直接印...
-
webページの印刷制限について
-
PDFファイルを印刷し終了するには
-
vbaでPDFファイルが印刷されない
-
プリンタの印刷ジョブを削除し...
-
VB.NET+ActiveReports で印刷...
-
VB6でのネットワークプリン...
-
ActiveReportsを使って[印刷ダ...
-
VBAで不特定枚数印刷をしたいで...
-
VBからのプリンタ制御について
-
オートメーションエラー(214741...
-
Eclipseを使ってソースを印刷し...
-
VB2005から複合機を使い自動FAX...
-
Javaのソースコードをカラーで...
-
.NETプログラムからの印刷
-
VB2008で0ページの印刷ジョブを...
-
VB6上から印刷ダイアログを表示...
-
ファイルのパス指定での印刷方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
印刷ダイアログを表示させない方法
-
印刷要求順番と印刷出力順番が...
-
プリンターを指定して印刷するには
-
vbaでPDFファイルが印刷されない
-
VBAで不特定枚数印刷をしたいで...
-
VB.NET+ActiveReports で印刷...
-
ACCESSで設定した帳票の用紙サ...
-
PHPでPDFファイルの直接印刷
-
PDFファイルを印刷し終了するには
-
印刷ダイアログを表示させたくない
-
VBからプリンタに出力する時に...
-
EXCELファイルの複数ダウンロー...
-
webページの印刷制限について
-
VBscriptでPDFファイルを直接印...
-
A4の2枚をA3の1枚にする編集方法?
-
VBSでExcelファイル印刷時のプ...
-
リンク先のページを印刷したい
-
2回以上PDFをコピーや印刷がで...
-
VBAにて指定したセルをプルダウ...
-
ActiveReportsを使って[印刷ダ...
おすすめ情報
めぐみんさんに教えて頂いた構文を実行したのですがうまくいきません。
説明不足もあろうかと思い、画像をアップしました。(顔の画像にVBAを登録しています)
現在の現象は1行目の「高橋」は印刷されず、2行目の「伊能」が2回印刷されます。
「伊能」の内容は正しく差し込み印刷されています。
特に2回印刷させる設定でもないのに、なぜ、同じ内容で「伊能」が2回印刷されるのでしょうか?
ご教示願えれば助かります。