
エクセル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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Excel(エクセル) このコードに追記事項の仕方を教えて下さい。 以下のコード内容に出てくる。セルH3が空白の場合、エラー 4 2023/08/03 00:22
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Excel(エクセル) 【VBA】PDF出力に任意のファイル名前を付ける方法 3 2023/07/21 10:55
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
エクセル文書を保存したらメモ...
-
いきなりPDFでPDFファイルを開...
-
エクセルでVBAを使用して1分毎...
-
ピボットテーブルの更新ができない
-
エクセル2007で互換モードで上...
-
メール添付されているファイル...
-
Illustratorファイルに読み取り...
-
エクセル2019でPDFファイル名に...
-
マクロ VBA ファイル名を連番...
-
エクセル2007でエクセル2003形...
-
エクセルがwindows終了時に未保...
-
エクセル 互換性
-
「上書き保存」で一度警告を出...
-
Excelの読み取り専用について質...
-
エクセル Webページとして保存...
-
エクセルが「名前を付けて保存...
-
エクセルVBA 保存ダイアログの...
-
開いてるファイル(エクセル等)...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
いきなりPDFでPDFファイルを開...
-
エクセル文書を保存したらメモ...
-
メール添付されているファイル...
-
Excel画面の自動更新 Excelファ...
-
エクセルでCSVファイルとして保...
-
エクセルでVBAを使用して1分毎...
-
EXCELで同一名のファイルがある...
-
ピボットテーブルの更新ができない
-
エクセル 更新していないのに...
-
Illustratorファイルに読み取り...
-
エクセルがwindows終了時に未保...
-
エクセル2007で互換モードで上...
-
マクロ VBA ファイル名を連番...
-
エクセル・マクロ(VBA)で、指定...
-
開いてるファイル(エクセル等)...
-
エクセルが「名前を付けて保存...
-
メールソフト「サンダーバード...
-
Excel2019とOneDriveでのサイン...
-
Excelで上書き保存時の確認をは...
おすすめ情報