ExcelVBAで拡張子に応じた処理をしたい
拡張子に応じて処理をしたい――
たとえばExcelであれば、マクロ付きエクセルxlsmや新しい拡張子xlsx、今までのxlsなど。
Excelのバージョンに応じて最大行数が変わってきます。
バージョンに応じて最大行数の定義を設定する際にも使えます。
ほかには特定のフォルダに格納されているファイルの一覧を取得して、
その中から特定の拡張子に対してのみ処理を行うような分岐も実装できます。
コピペで使えるコード
この関数には、第一引数としてファイルパスを想定していますが、ファイル名を渡しても動作します。
しかし、拡張子のないファイルの場合にはエラーが発生するので、事前にチェック機構を用意する必要がありますが……
Function getExtension(path As String) Dim pathList As Variant pathList = Split(path, ".") '拡張子のみ返却 getExtension = pathList(UBound(pathList)) End Function