top of page

​タグ一覧

配列処理(73)

階層化フォーム(33)

ファイル操作(27)

開発事例(20)

シート・セル操作(18)

コード自動生成(10)

ユーザーフォーム(9)

文字列操作(8)

図形操作(7)

設計思想(7)

開発効率化(6)

GAS(5)

アニメーション(5)

技術解説(4)

講座実施報告(5)

イミディエイトウィンドウ(4)

Googleスプレッドシート(4)

副業(4)

クリップボード(4)

条件付き書式(4)

その他(4)

ココナラ(3)

小説(3)

HTML(3)

JavaScript(3)

イベントプロシージャ(2)

Enum(2)

PDF(2)

フリーランス(2)

リスキリング(2)

数学(2)

Outlook(2)

介護(2)

Discord(2)

シフト表(2)

LookerStudio(2)

日報(2)

カレンダー(2)

罫線(2)

パズル(2)

小ネタ(2)

コード解説(2)

ステータスバー(1)

コード解析(1)

OneDrive(1)

バックアップ(1)

可変長引数配列(1)

ブック処理(1)

スクレイピング(1)

スプレッドシート(1)

coconala(1)

リボン登録マクロ(1)

QRコード(1)

実行予約(1)

給与計算(1)

VBA不使用(1)

リボン(1)

超勉強会(1)

スピログラフ(1)

図名描写(1)

連想配列(1)

溶接ロボット(1)

保育士(1)

楽天市場(1)

経理(1)

医療(1)

文書作成(1)

発注書(1)

ショートカット(1)

WebAPI(1)

色操作(1)

スーパー開発ショートカット(1)

ライブラリ処理(1)

放課後等デイサービス(1)

児童福祉支援(1)

学校(1)

UI(1)

CAD(1)

GetUniqueFileName|重複しないファイル名を自動生成 | Excel VBA

更新日:1月4日

GetUniqueFileName|重複しないファイル名を自動生成 | Excel VBA

<概要 (VBA ファイル名 重複)

 GetUniqueFileName は、指定したフォルダ内に同名ファイルが存在する場合に、ファイル名の末尾へ「_(数字)」を自動付与し、重複しないファイル名を生成する Excel VBA の汎用プロシージャです(VBA ファイル名 重複)。


ファイル保存処理では、既存ファイルの上書きやエラー回避が必須となります。

本プロシージャを使用することで、保存前にファイル名を調整する処理を共通化でき、実務での安全性と再利用性を高めることができます。

 たとえば、Excelブックやテキスト、CSV、PDFなど特定のファイルを出力する際にすでに同じファイル名のものが存在する場合、「上書きするか」「別名で保存するか」の二択に分かれてきます。

 この二択のうち、別名で保存する場合にすでに存在するファイルと被らないファイル名を生成する必要があります。

 例えばファイル名が「Sample.txt」がある場合は、被らないファイル名は「Sample_(1).txt」。次に被らないファイル名は「Sample_(2).txt」のように番号を増やしていく方法があります。


 GetUniqueFileName は、FileExistsGetExtension と組み合わせて使用する設計となっており、拡張子の有無や返却形式も柔軟に制御できます。



<実行例>

 実行例のサンプルコードは次の通りです

 

 実行中のマクロ付きブックを、「Sample.xlsm」というファイル名でコピーする処理です。

 繰り返して実行すると下記の通りに被らないファイル名で順次ファイルが生成されているのが確認できます。

被らないファイル名の生成

<関連コード>

 今回の汎用プロシージャおよびサンプルコードでは、下記の別で紹介している汎用プロシージャを使用しています。


<関連記事>

 今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。

 コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。


<コード>


Excel VBAによる業務自動化・ツール開発をご検討の方へ

​"脱Excel"の前に、現状のExcelの潜在能力を120%発揮してみませんか?

Softex-Celware

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page