【VBA】ファイルの拡張子を取得する方法
今回はVBAでファイルの拡張子を取得する方法を紹介します。
ちなみに、Right関数で取得する方法はあまりおすすめしません。
Right(string, length)
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/right-function
Right関数では文字数を指定する必要があるため、例えば4文字を指定していたのに3文字の拡張子(xlsなど)だとエラーの原因となってしまいます。
Right関数で安易に対処せず、専用メソッドを使って取得するようにしましょう。
VBAでファイルの拡張子を取得する方法
Sub GetExtensionName()
'拡張子を取得したいファイルを選択
Dim filePath As String
filePath = Application.GetOpenFilename
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
'ファイルの拡張子を表示
Debug.Print fso.GetExtensionName(filePath)
End Sub
拡張子の取得にはfso(ファイルシステムオブジェクト)を使用します。
fsoのGetExtensionNameメソッドで、引数にファイルパスを渡すと拡張子を取得することができます。
このプログラムを実行すると、ダイアログでファイルを選択し、選択したファイルの拡張子がイミディエイトウィンドウに表示されます。