
エクセル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ランキング
-
エクセルを上書き保存したのに...
-
エクセルを開いた時に強制的に...
-
エクセル文書を保存したらメモ...
-
エクセルでVBAを使用して1分毎...
-
エクセルで保存しますか?のメ...
-
appleworksのファイルをエクセ...
-
Illustratorファイルに読み取り...
-
エクセルで「500時間」を「何日...
-
パワーポイントをエクセルファ...
-
【スプレドシート】IMPORTRANGE...
-
EXCELで上書き保存しないと反映...
-
メモ帳で開く設定を元に戻したい。
-
三四郎のファイルをエクセルで...
-
2つのエクセルファイルをデュ...
-
グーグルマップ
-
エクセルでファイルを閉じても...
-
並び順の違う2つのエクセル表
-
エクセルで複数のブックで「元...
-
web上にあるエクセルをショート...
-
xl
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
いきなりPDFでPDFファイルを開...
-
エクセル文書を保存したらメモ...
-
メール添付されているファイル...
-
Excel画面の自動更新 Excelファ...
-
エクセルでCSVファイルとして保...
-
メールソフト「サンダーバード...
-
Illustratorファイルに読み取り...
-
エクセル 更新していないのに...
-
excelとCSVについて質問です! ...
-
開いてるファイル(エクセル等)...
-
ピボットテーブルの更新ができない
-
EXCELで同一名のファイルがある...
-
エクセルがwindows終了時に未保...
-
エクセル表のCSV化ができない
-
エクセルでVBAを使用して1分毎...
-
エクセル2016 上書き保存が出来...
-
Excelのデーターが一瞬で消えた。
-
エクセルを開いた時に強制的に...
-
エクセル2007で互換モードで上...
おすすめ情報