お世話になっております
ExcelのVBA初心者です
Excelファイルに複数枚のシートが存在しており、
全てのシートの印刷設定は完了しています
各シートを1枚ずつにPDFファイルに出力したいと考えています
シート数だけpdfファイルができるようなイメージです。
そこで、以下のようなプログラムを書きました
vba
1Sub sample() 2 3 Dim st As Object 4 Dim outPutPath As String 5 Dim fileName As String 6 Dim waitTime As Variant 7 8 outPutPath = '保存先のパス' 9 10 For Each st In Sheets 11 st.Activate 12 fileName = outPutPath & st.Name 13 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName 14 waitTime = Now + TimeValue("0:00:03") 15 Application.Wait waitTime 16 Next 17 18End Sub
問題なく実行され
pdfファイルを出力され続けるのですが、以下のエラーが表示され
途中で処理が落ちてしまいます。
落ちる場所もランダムで、特定のシートで止まっているわけではありません
検索してもこのエラーが発生する原因が多いので特定することができませんでした
環境は以下の通りとなります
ご教授頂ければと思います
OS:Windows10
Excelバージョン:Excel2013
みなさま、コメントありがとうございます
皆様のコメントやご指摘を対応しておりますが、
現状、エラーは表示されております。
デバッグしたところ、pdfの出力処理、以下の行を実行後にエラーが発生しております。
vba
1st.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName 2
ループ中ランダムのタイミングで出力されるので、シートに問題が有るわけではないようです。
本処理を実行後、pdfを出力してからエラーが発生する感じです。
ちなみに、出力したファイルに問題はありません。
申し訳ありませんが、ご教授頂ければと思います。
回答5件
あなたの回答
tips
プレビュー