このサイト・インストラクターのネタ帳のアクセスログを眺めていて、
「excel マクロ アクティブブック名取得」
「vba アクティブブックの名前を取得」
といった検索キーワードでのアクセルが、意外とあることに気づきました。
アクティブなブックの名前を取得する、Excel VBA(Visual Basic for Applications)のマクロやコードを探していた方による検索です。
アクティブブック名を取得するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブブックの名前が、イミディエイトウィンドウに出力されます。Debug.Print Application.ActiveWorkbook.Name
End Sub
ApplicationオブジェクトのActiveWorkbookプロパティを使うと、アクティブなブックを表すWorkbookオブジェクトを取得でき、
WorkbookオブジェクトのNameプロパティで、ブックの名前を取得できます。
イミディエイトウィンドウに出力するのではなく、例えば、String型の変数・bk_nameに、アクティブブック名を代入するのなら
bk_name = Application.ActiveWorkbook.Name
という代入文です。
ActiveWorkbookプロパティはグローバルメンバー
ActibeWorkbookプロパティは、オブジェクトブラウザーを確認すればわかるとおり、グローバルなメンバーですから、
アクティブなブック名を取得する場合に、
Application.ActiveWorkbook.Name
ではなく、Applicationプロパティを省略した、
ActiveWorkbook.Name
というオブジェクト式にするのが一般的です。
イミディエイトウィンドウにアクティブブック名を出力する
「vba ? アクティブブック イミディエイトウィンドウ」
といった検索キーワードで、このサイト・インストラクターのネタ帳へのアクセスもあります。
イミディエイトウィンドウでコードを実行して、アクティブブック名を表示するにはどうすればいいのかを探していらした方による検索でしょう。
? activeworkbook.name
と入力して[Enter]キーを押す
プロシージャでイミディエイトウィンドウにアクティブブック名を出力するには
Debug.Print ActiveWorkbook.Name
というステートメントを記述しました。
このステートメントを、イミディエイトウィンドウにそのまま入力して[Enter]キーを押しても、アクティブブック名を出力できます。
この「Debug.Print」を「?」で代用しているのが、
? activeworkbook.name
です。
Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » アクティブブック名を取得する