『エクセルVBA差し込み印刷 PDF印刷エラーについて』(YYY)
会社の請求部門で業務している者になります。
領収書を今まで社内システムで自動発行していたのですが、経費削減で社内システムを安いシステムに変更になりました。
新しいシステムですと、領収書の自動発行が出来なくなってしまいました。
そこでエクセルVBAを使って、
差し込み印刷で領収書の自動発行できるようにしたくて、
下記のyoutubeを参考に、
紙の領収書印刷は、差し込み印刷で出来るようになりました。
https://m.youtube.com/watch?v=rdwxTb2VJmQ
差し込み印刷でPDFでも印刷できるようにしたくて、
下記のホームページを参考に、やってみました。
https://web-breeze.net/excel-inset-pdf/
しかし、エラーが出てしまいPDFで印刷することが出来ません。
「実行時エラー 2147418113(8000ffff)
オートメーションエラーです。致命的なエラーです」 と表示されてしまいます。
デバックをすると、
ws帳票.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ThisWorkbook.Path & "\PDF\" & 管理番号 & ".pdf"
の箇所に、
xlTypePDF=0
ThisWorkbook.Pathの箇所にカーソルをあてると、
「オブジェクト変数またはWithブロック変数が設定されていません。」
と表示されます。
これが何を指すのか、ネットを調べましたがわからず、どなたか教えて頂けますと幸いです。
コードが間違えているのか、パソコンのOSに問題があるのか、どうすれば良いか全くわからず、どなたか教えて頂けますと幸いです。
何卒宜しくお願いいたします。
ちなみに、標準モジュールに入力しているコードは下記になります。
Option Explicit
Sub 一括PDF出力()
' 変数宣言
Dim ws帳票 As Worksheet: Set ws帳票 = Worksheets("帳票")
Dim ws台帳 As Worksheet: Set ws台帳 = Worksheets("台帳")
Dim 台帳最終行 As Long: 台帳最終行 = ws台帳.Range("A1").CurrentRegion.Rows.Count
Dim i As Long
' 一括出力対象データ数の確認
Dim 出力データ数 As Long: 出力データ数 = 0
For i = 2 To 台帳最終行
If ws台帳.Cells(i, 2).Value = "Y" Then
出力データ数 = 出力データ数 + 1
End If
Next
' ユーザーに処理続行の確認
If 出力データ数 > 0 Then
Dim rc
rc = MsgBox(出力データ数 & "件のデータをPDF出力します。よろしいですか?", vbYesNo)
If rc = vbNo Then
MsgBox ("処理を中断しました。")
Exit Sub
End If
Else
' 対象データなしの場合は処理終了
MsgBox ("出力対象のデータがありません。")
Exit Sub
End If
' PDF出力処理
Dim 管理番号 As Long
For i = 2 To 台帳最終行
If ws台帳.Cells(i, 2).Value = "Y" Then
管理番号 = ws台帳.Cells(i, 1).Value
ws帳票.Cells(2, 1).Value = 管理番号
ws帳票.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ThisWorkbook.Path & "\PDF\" & 管理番号 & ".pdf"
End If
Next
' 完了メッセージの表示
MsgBox (ThisWorkbook.Path & "\PDF" & " にPDFファイルを出力しました。")
End Sub
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.