【VBA】ファイルの拡張子を取得する方法

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メソッドで、引数にファイルパスを渡すと拡張子を取得することができます。

このプログラムを実行すると、ダイアログでファイルを選択し、選択したファイルの拡張子がイミディエイトウィンドウに表示されます。

VBAが難しいと感じたら
プロにお任せして代わりに作ってもらってはいかがでしょう?
VBAの作成依頼はこちらから

《VBA中級者向けの本》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。

created by Rinker
技術評論社
¥3,608 (2022/12/08 14:44:42時点 Amazon調べ-詳細)

他の「VBA」の記事はこちらからどうぞ

VBA

Posted by やろまい