プロが教える店舗&オフィスのセキュリティ対策術

VBA初心者です。
VBA PDFで保存するマクロで実行時エラー 1004 が出てしまいます。
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="MAT\商品別グラフ" & i - 62 & ".pdf", _
OpenAfterPublish:=False
ドキュメントを保存できませんでした。ドキュメントが開いているか保存時にエラーが発生した可能性があります。というエラーメッセージです。

Excelでグラフを9枚、PDFで保存するマクロを作ったのですが、
実行してうまくいく場合と、上記のエラーが出てしまう場合があります。

色々思考錯誤しましたが、どこを直せばいいのかわかりません。
どなたか見て頂けないでしょうか。
WINDOWS7 office2013を使用しています。

どうぞ宜しくお願いいたします。

Sub PDF作成()
Dim i As Integer

Dim WB As Workbook
Dim WS01 As Worksheet
Dim WS02 As Worksheet

Set WB = Application.Workbooks("売上管理表グラフ.xlsm")
Set WS01 = ThisWorkbook.Worksheets("データ")
Set WS02 = ThisWorkbook.Worksheets("グラフ")

For i = 62 To 72

WS01.Range("A4").Value = WS01.Cells(i, "A").Value

WS02.Activate

Application.CutCopyMode = False

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="MAT\商品別グラフ" & i - 62 & ".pdf", _
OpenAfterPublish:=False ’←エラーはここが反転しています’

Next i

End Sub

A 回答 (2件)

コード、よさげですけどね。



1.売上管理表グラフ.xlsmが格納されているフォルダに MAT というフォルダはありますか?
2.Filename:="MAT\商品別グラフ" ~ はフルパスで書いた方がいいかも
  例)Filename:="c:\売上管理\MAT\商品別グラフ" ~

それと、質問のカテゴリは少なくともRubyではないような。

コンピューター・テクノロジー >Microsoft Office >Excel(エクセル)

かな。
    • good
    • 0
この回答へのお礼

返信ありがとうございます。
1.マイドキュメントにMATというフォルダを作ってあります。
2.Filenameの箇所をフルパスで書いてみましたら、サクサク動きました!!

売上管理表グラフ.xlsmが格納されているフォルダにMATというフォルダを作っていないのがエラーの原因ですかね。(マイドキュメントに作っていた)
フルパスで指定したことによって、場所が確定され実行された。
とても勉強になりました。
お手数をおかけしました。ありがとうございました。

カテゴリは焦って間違えてしまいましたが、おかげさまで解決しました。
本当にありがとうございました!!!

お礼日時:2017/11/02 10:51

・Filenameの指定にドライブレターがない。


 「D:\MAT\商品グラフ」などとしないと、マイドキュメント内などへの保存となってしまいます。
・MATフォルダーが存在しなければ出力することはできません。
 存在しない場合にMATフォルダーを作り上げるという実装を行うか、MATフォルダーを用意しなければ動作しない仕様とするかのどちらかです。
    • good
    • 0
この回答へのお礼

早速の返信ありがとうございます。
MATというフォルダは作ってあるのですが、動く時とエラーになる時があります。
ここがおかしいみたいなので、もう少し変更してみます。
ありがとうございます。

お礼日時:2017/11/02 10:44

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A