実現したいこと
EXCEL VBA 内で**【シートごとにPDF出力したい】**と思い、
下記VBAを組みましたが、同姓同名の場合に上書きされてしまいます。
同姓同名ファイルが上書きされてほしくないのですが、どうしたらよいでしょうか?
重複する場合、末尾に番号を1から振っていけたらいいのかなと思っております。
シート名がフルネームで「田中太郎」になります
保存後のファイル名は「通知書_田中太郎.pdf」
<重複した場合>
「通知書_田中太郎.pdf」と
「通知書_田中太郎1.pdf」が同ファイルに保存されてほしいです。
また、重複しない別名ファイルはそのまま保存されていってほしいです。
以下が理想形のフォルダ群です。
C:\通知書格納フォルダ\通知書格納フォルダ 通知書_田中太郎.pdf 通知書_田中太郎1.pdf 通知書_山田花子.pdf 通知書_山本次郎.pdf 通知書_山本次郎1.pdf 通知書_山本次郎2.pdf
該当のソースコード
VBA
1Sub PDF出力() 2 Dim ws As Worksheet 3 Dim exPath As String 4 Dim Path As String 5 6 Path = "C:\通知書格納フォルダ" 7 8 For Each ws In Worksheets 9 exPath = Path & "\通知書_" & ws.Name & ".pdf" 10 ws.ExportAsFixedFormat _ 11 Type:=xlTypePDF, _ 12 FileName:=exPath, _ 13 Quality:=xlQualityStandard 14 Next 15End Sub
基本的にはPathフォルダは空の状態からスタートする予定です。
(出力したPDFは、毎日各個人フォルダへ振り分けるのでPathフォルダから移動する)
試したこと
https://qiita.com/yagi_eng/items/cc7570b3878818a8e495
ここのコードを使えるかもと思い試しましたが、わたくしがそこまで詳しくなく、どこに挿入し修正すればよいのかわかりませんでした。
ご教授いただければ幸いです。
また別の方法でももちろんかまいません。
補足情報(FW/ツールのバージョンなど)
使用ソフトウェア
・Microsoft 365 Excel バージョン2011(ビルド 13426.20308)
・UiPath