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)

GetFileNameWithoutExtension|拡張子を除外したファイル名取得 | Excel VBA

更新日:1月4日

GetFileNameWithoutExtension|拡張子を除外したファイル名取得 | Excel VBA

<概要 (VBA ファイル名 拡張子)

 GetFileNameWithoutExtensionは、ファイルのフルパスから拡張子除外されたファイル名のみを取得するExcel VBAの汎用プロシージャです。


 以前紹介したフルパスからファイル名だけを抽出する汎用プロシージャ「GetFileName」の派生形ですが、今回紹介するのは拡張子ものぞいた場合のファイル名を取得する処理です。

 この処理が求められる用途として次のようなものが挙げられます。

①Excelブックのバックアップをファイル名に日付などを付けて保存する。

②マクロ付きブックのバージョンを上げる。


 具体的にもっと詳しく説明すると、

①「[ファイル名].xlsm」→「[ファイル名]_20241229.xlsm」で別名保存

②「[ファイル名] ver1.00.xlsm」→「[ファイル名] ver1.01.xlsm」で別名保存

 などのようにファイル名と拡張子を一旦分離しないとできないような処理で今回紹介する汎用プロシージャ「GetFileNameWithoutExtension」が便利に使えたりします。


<実行例>

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

 実際に上記で説明した②のようなバージョンアップの処理を行ってみましょう。より実践的なコードですが頑張ってついて来てみてください。

 このサンプルコードで利用している別の汎用プロシージャ「GetExtension」「ConvOneDrivePath_LocalPath」は以前紹介したものですので、参考リンクを載せておきます。


 このサンプルコードを「実行サンプル ver1.00.xlsm」のブックの中で実行すると、次のようにver1.00からver1.01が自動的に別名で保存されます。

 

サンプルコードの実行結果

 ちなみにサンプルコードの中で。 Workbookオブジェクトの変数「Book」にThisWorkbookを割り当てていますが、ActiveWorkbookを利用するとより汎用的に使用できます。例えばリボンにこのマクロを登録すると、ほかのマクロ付きブックでも簡単にバージョンアップができるようなことができたりします。


 マクロのリボン登録に関しては、下記記事を参考にしてみてください。


<関連記事>

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

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


<コード>


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

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

Softex-Celware

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

  • Facebook
  • Twitter
  • YouTube

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

bottom of page