エクセルVBAでよく使うコードの備忘録。VBAでファイル名(あるいはパス)から拡張子だけを取り除くコード。
事前準備
特になし。
拡張子を除く
拡張子だけを除外するサンプルコードです。拡張子は最後の「.」より右側なのでその部分を除きます。一番最後の「.」の場所を取得するためInStrRevという文字列を後ろから検索する関数を使います。文字列を最初から検索すると「test.2.xlsx」みたいなファイル名に対応できないので注意が必要です。
Public Sub ExcludeExtention()
'--- ファイルのパス(あるいはファイル名) ---'
Dim strFileName As String
strFileName = "[ファイルのパス(あるいはファイル名)]"
'--- 拡張子の位置 ---'
Dim posExt As Long
posExt = InStrRev(strFileName, ".")
'--- 拡張子を除いたパス(ファイル名)を格納する変数 ---'
Dim strFileExExt As String
If (0 < posExt) Then
strFileExExt = Left(strFileName, posExt-1)
Else
strFileExExt = strFileName
End If
End Sub