今回はVBAマクロでFileSystemObjectの「GetBaseName」を使用して、自分が開いているブック名(拡張子あり・なし)を取得する方法を紹介します。
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Sub Bookname() Dim ObjFileSys As Object Dim wb As String Dim wb2 As String '①拡張子ありのブック名を取得 wb = ActiveWorkbook.Name '②拡張子なしのブック名を取得 Set ObjFileSys = CreateObject("Scripting.FileSystemObject") wb2 = ObjFileSys.GetBaseName(wb) MsgBox "拡張子ありのブック名は:" & wb & Chr(13) & "拡張子なしのブック名は:" & wb2 '初期化 Set ObjFileSys = Nothing End Sub |
実行結果
ActiveWorkbook.NameとMid関数の組み合わせでも拡張子なしのブック名を取得できますが、「GetBaseName」を使った方がシンプルな気がしますね。