FileSystemObjectのGetExtensionNameメソッド
FileSystemObjectのGetExtensionNameメソッドは、引数のファイルパスから拡張子部分を返します。
拡張子文字列にドットは含みません。
拡張子に該当する部分がない場合は空文字列””を返します。
FileSystemObjectの他のメソッドやプロパティは「FileSystemObjectとTextStreamのメソッド・プロパティ一覧」をご参照ください。
構文
Function GetExtensionName(Path As String) As String
Path | ファイルパスを指定します。絶対パス、相対パスのどちらでも構いません。存在しないファイルパスでも指定できます。 |
戻り値 | 引数ファイルパスから拡張子部分を返します。ドット(.)は付与しません。
パスに拡張子に該当する箇所がなければ空文字列(””)を返します。 引数ファイルパスの文字列のみで判定するため、そのファイルパスが実際に存在しているかどうかは関係ありません。 |
事前設定
以下のサンプルコードでは参照設定でFileSystemObjectクラスを利用できるようにしています。
FileSystemObjectクラスを利用するには、事前にVBA画面→ツールメニュー→参照設定、を選択し、参照設定ダイアログで「Microsoft Scripting Runtime」にチェックを付けます。
詳細は「VBAでのFileSystemObjectとTextStreamの使い方」の事前設定をご参照ください。
サンプルコード
適当なファイルパスから拡張子を取得して出力するサンプルです。
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub FileSystemObjectGetExtensionName() Dim fso As New FileSystemObject '// FileSystemObjectクラス Dim sPath As String '// 戻り値 '// アクティブブックのフォルダパス sPath = fso.GetExtensionName(ActiveWorkbook.Path) Debug.Print ActiveWorkbook.Path & " - " & sPath '// アクティブブックのファイルパス sPath = fso.GetExtensionName(ActiveWorkbook.FullName) Debug.Print ActiveWorkbook.FullName & " - " & sPath End Sub |
実行結果
C:\aaa\bbb –
C:\aaa\bbb\test.xlsm – xlsm
ここではアクティブブックのフォルダパスとファイルパスを使って、拡張子がないパターンとあるパターンで出力しています。
拡張子が無ければ空文字列(””)が返されます。