🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら

Q&A

解決済

1回答

3958閲覧

エクセルのマクロでファイル保存時に上書きさせないようにしたい

kensproject

総合スコア8

0グッド

0クリップ

投稿2021/02/25 10:58

エクセルのマクロでファイル保存時に上書きさせないようにしたい

記述方法など全く分かっておりません。ネットで調べて
エクセルで該当シートをボタン一つでPDF化するにあたってファイル名を自動で付ける所までは
なんとか組めたのですが、これでは同一名のファイルに上書きしてしまいます。

例えば、以下ソース内で”DK4”は4桁の連番数字が格納されています。
0001→0002と順にエクセル内で振られますが、保存時にファイル名が既にある場合はマクロで
次の連番にすることは可能でしょうか。

該当のソースコード

Sub PDFで出力() Dim myPath As String myPath = "\Mame-saba1\共有ドキュメント\販売管理\納品・請求書\" Sheets("納品書").PrintOut , ActivePrinter:="Microsoft Print to PDF", _ prtofilename:=myPath & Range("DK5") & "\" & Range("DK6") & "\MAQ-NB" & Range("DK4") & ".pdf" End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

試してないけどこんな感じでいけないかな。

VBA

1For i = Range("DK4") To 9999 2 fn = myPath & Range("DK5") & "\" & Range("DK6") & "\MAQ-NB" & Format(i,"0000") & ".pdf" 3 If Dir(fn) = "" Then 4 Sheets("納品書").PrintOut , ActivePrinter:="Microsoft Print to PDF", _ 5 prtofilename:= fn 6 Exit For 7 End If 8Next

投稿2021/02/25 12:52

jinoji

総合スコア4592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kensproject

2021/02/26 00:36

このまま埋め込んで動作いたしました。 とても助かりました!ありがとうございます。 ちなみにですが。。 ソース内のDK5とDK6はパスです。このパスも変動します。 「保存時に指定パスの該当フォルダが無い場合に自動で指定パスのフォルダを作成する」 というのは可能なのでしょうか。
退会済みユーザー

退会済みユーザー

2021/02/26 00:45

上記、別の質問とした方が、回答を得られやすいと思いますよ。
kensproject

2021/02/26 01:42

>m-ogura様 ありがとうございます!! その様に致します!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問