
下記コードで、PDFを作成し任意のフォルダー(この場合には 「"C:\sample"」)に保存するのですが、保存先のフォルダーにすでに同じ名前のデータがある場合、上書きせずに、新しいデータとして保存するにはどうすればいいでしょうか?
新しいデータにはわかりやすい様に名前の後ろに「(2)、(3)、、」といったように番号を自動でふってもらえるようになると助かります。
よろしくお願いいたします。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
Const OutPath As String = "C:\sample"
Dim FileName As String
FileName = Range("G11").Value & "." & Range("J11").Value & "." & Format(Range("N2").Value, "yymmdd") & "." & Range("D15").Value & ".pdf"
Worksheets("注文書").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=OutPath & "\" & FileName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
No.1ベストアンサー
- 回答日時:
以下のようにしてください。
GetNewNameが名前が重複したとき、重複しない名前を探しだし、
それを返します。
Public Sub sample()
Const outpath As String = "C:\sample"
Dim baseName As String
Dim fullpath As String
Worksheets("注文書").Select
baseName = Range("G11").Value & "." & Range("J11").Value & "." & Format(Range("N2").Value, "yymmdd") & "." & Range("D15").Value
fullpath = GetNewName(outpath, baseName, ".pdf")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=fullpath, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
MsgBox (fullpath & "へ出力完了")
End Sub
Private Function GetNewName(ByVal outpath As String, ByVal base As String, ByVal ext As String) As String
Dim fullpath As String
Dim seq As Long
seq = 1
Do
If seq = 1 Then
fullpath = outpath & "\" & base & ext
Else
fullpath = outpath & "\" & base & "(" & seq & ")" & ext
End If
seq = seq + 1
Loop While Dir(fullpath) <> ""
GetNewName = fullpath
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Excel(エクセル) エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし 4 2023/06/06 21:00
- Excel(エクセル) このコードに追記事項の仕方を教えて下さい。 以下のコード内容に出てくる。セルH3が空白の場合、エラー 4 2023/08/03 00:22
- Excel(エクセル) 【VBA】PDF作成のコードでコンパイルエラーになってしまいます。 10 2023/02/07 19:11
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
このQ&Aを見た人はこんなQ&Aも見ています
-
【マクロ】名前を保存する際に、同じファイルがあった場合に、メッセージを表示
Excel(エクセル)
-
【VBA】PDF出力に任意のファイル名前を付ける方法
Excel(エクセル)
-
エクセルをPDFで保存し、ファイル名はA1セルを参照するVBAの記述を教えてください。
Excel(エクセル)
-
-
4
EXCEL ページを指定してPDF出力するVBAを教えてください。
PDF
-
5
エクセル マクロ 名前を付けて保存 PDF保存先指定 ファイル名任意+日付
Excel(エクセル)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
【Excel VBA】PDFを作成して,指定したフォルダに保存するコードについて
その他(Microsoft Office)
-
8
Excelマクロのエラーを解決したいです。
Visual Basic(VBA)
-
9
【VBA】マクロの入ったファイルと同じフォルダに,出力したファイルを保存するコードについて
Visual Basic(VBA)
-
10
エクセル マクロ
Excel(エクセル)
-
11
ExcelVBAでPDFを閉じるソース
その他(Microsoft Office)
-
12
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
13
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
14
日付を入力したセルをファイル名にして保存するには
Excel(エクセル)
-
15
【Excel】指定したセルの名前でPDFを保存する【VBA】
Visual Basic(VBA)
-
16
エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし
Excel(エクセル)
-
17
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
18
Excel VBAで確認なしで上書き保存
Access(アクセス)
-
19
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
20
VBAを使って、上書き保存の再確認メッセージを出したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでPDFを作成する際、同じ名...
-
【VBA】Excelの特定範囲のセル...
-
EXCEL のドキュメントの回復に...
-
トンボ内をpdfに書き出したい
-
Illustrator 中の要素ごとアー...
-
エクセル「テンポラリドキュメ...
-
イラストレーターでオブジェク...
-
サムネと実際の写真がぜんぜん違う
-
Illustrator CS3 ウィンドウサ...
-
GmailでPDFが開けない
-
Illustratorでアートボード内だ...
-
テレビ会議での自己紹介
-
Photoshopで、ラインマーカーの...
-
インターネット一時ファイルと...
-
イラストレーターで印刷範囲が...
-
イラストレータで書類サイズが...
-
Excel のファイルを開くと複数...
-
エクセルで特定のファイルだけ...
-
フォトショ以外でPSDを16bit⇒8b...
-
ノートンの完全スキャンが終わ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでPDFを作成する際、同じ名...
-
【VBA】Excelの特定範囲のセル...
-
windowsのイラストレータで作っ...
-
EXCELで昇順並び替えを元に戻す
-
助けてください。エクセルのグ...
-
PDFのデータをフリーのXChenge-...
-
EXCEL のドキュメントの回復に...
-
トンボ内をpdfに書き出したい
-
Illustrator 中の要素ごとアー...
-
Illustratorでアートボード内だ...
-
イラストレーターでオブジェク...
-
イラストレーターで印刷範囲が...
-
イラレでページ番号をつける方法
-
エクセル「テンポラリドキュメ...
-
他のアートボードに同じ位置で...
-
Excel のファイルを開くと複数...
-
windows10でのオーバーレイ
-
CSVのエクセルファイルで ハイ...
-
イラストレータをPDFに変換する...
-
エクセルで特定のファイルだけ...
おすすめ情報