
エクセル2019でPDFファイル名に枝番号をつけたい。
アクティブワークシートを印刷した後の処理として、PDFでファイル名を今日の日付で保存させるマクロを利用してますが、同日にあらためて、同作業をするとPDFのファイルが上書き保存になってしまうので、例えば、同日保存で一回目が20230606.pdfなら2回目
はファイル名は、20230606(1).pdfで3回目なら、20230606(2).pdfのようにするには、コードをどう書き換えたらよいでしょうか?
以下、コードです。宜しくお願いします。
Sub PDF()
'
' pdf Macro
ActiveSheet.PrintOut
Const Folder As String = "C\Users\House\Desktop"
Dim fname As String
Dim fpath As String
fname = Format(Date, "yyyymmdd") & ".pdf"
fpath = Folder & "\" & fname
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fpath, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub
No.4ベストアンサー
- 回答日時:
>保存できない。
または、保存中にエラーが…と言う内容のエラーメッセージがでました。なぜなのでしょうか。あなたから提示されたパス名をそのまま使用していました。
Const Folder As String = "C\Users\House\Desktop"
を
Const Folder As String = "C:\Users\House\Desktop"
に変えてください。(C\ ではなく C:\ にします)
No.3
- 回答日時:
横から失礼します。
以下のようにしてください。
Sub PDF()
'
' pdf Macro
ActiveSheet.PrintOut
Const Folder As String = "C\Users\House\Desktop"
Dim fname As String
Dim fpath As String
Dim i As Long
Const ext = ".pdf"
i = 0
fname = Format(Date, "yyyymmdd")
fpath = Folder & "\" & fname & ext
i = 0
While Dir(fpath) <> ""
i = i + 1
fpath = Folder & "\" & fname & Format(i, "(#)") & ext
Wend
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fpath, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub
--------------------------------------------
fujillinさんの通りに書いただけですが、1か所
fpath = Folder & fname & Format(i, "(#)") & ext
を
fpath = Folder & "\" & fname & Format(i, "(#)") & ext
に変えています。
ありがとうございます。早速、貼り付けてみたところ、保存できない。または、保存中にエラーが…と言う内容のエラーメッセージがでました。なぜなのでしょうか。
No.1
- 回答日時:
こんばんは
>コードをどう書き換えたらよいでしょうか?
保存する前に、ファイル名のファイルが存在するかをDIR関数で調べ、存在したら連番を付して、存在しないファイル名が見つかるまで繰り返せば良いでしょう。
多少、修正してこんな感じでできると思います。
Dim fname As String
Dim fpath As String
Dim i As Long
Const Folder = "C\Users\House\Desktop\"
Const ext = ".pdf"
fname = Format(Date, "yyyymmdd")
fpath = Folder & "\" & fname & ext
i = 0
While Dir(fpath) <> ""
i = i + 1
fpath = Folder & fname & Format(i, "(#)") & ext
Wend
' ここで fpath で保存する
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
「上書き保存」で一度警告を出...
-
エクセルを開いた時に強制的に...
-
エクセル文書を保存したらメモ...
-
拡張子の替え方について教えて...
-
csvファイルを上書き保存でカン...
-
エクセル 更新していないのに...
-
Excel 2003の保存アイコンが消...
-
エクセル2019でPDFファイル名に...
-
GetSaveAsFilenameでフォルダを...
-
エクセル Webページとして保存...
-
エクセルファイルに上書き保存...
-
パワーポイントをエクセルファ...
-
Accessのクエリの結果を、既存...
-
エクセルで「500時間」を「何日...
-
楽譜をデータベース化したい!
-
エクセルを開いたときのシート
-
メモ帳で開く設定を元に戻したい。
-
共有しているEXCELシートのアク...
-
HTMLの表→Excel変換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
いきなりPDFでPDFファイルを開...
-
エクセル文書を保存したらメモ...
-
エクセルでCSVファイルとして保...
-
メール添付されているファイル...
-
エクセルでVBAを使用して1分毎...
-
ピボットテーブルの更新ができない
-
エクセル・マクロ(VBA)で、指定...
-
EXCELで同一名のファイルがある...
-
Excel画面の自動更新 Excelファ...
-
エクセル 更新していないのに...
-
エクセル2007で互換モードで上...
-
Excelの読み取り専用について質...
-
Illustratorファイルに読み取り...
-
Excelでの最終更新時刻表示
-
「変更を保存しますか?」と聞...
-
マクロ VBA ファイル名を連番...
-
開いてるファイル(エクセル等)...
-
「上書き保存」で一度警告を出...
-
エクセル表のCSV化ができない
おすすめ情報