- ベストアンサー
ExcelVBA:自己のBook名を取得したい
WindowsXP-Proです。 Excelヴァージョンは2003です。 ExcelVBAでコーディングしています。 で、自分自身(つまり、このVBAコードを記述しているExcel本体)のBook名を取得したいのですが、何か関数は用意されていますでしょうか? 自分自身のBook名を取得したい理由は、VBAコードを記述しているExcel本体のファイル名(Book名)の名前が変更されても、VBAが正常に機能するように、今現在のBook名を取得したいのです。 複数のExcelファイルを、このVBAで操作しているため、 Workbooks("本体のBook名").Activate を用いており、仮にファイル名(本体のBook名)の名前が変更されても、VBAが正常に機能できるように、"本体のBook名"部分を固定ではなく、可変で持てるようにしたいからです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
Public Sub Auto_Open() MsgBox ActiveWorkbook.Name MsgBox ThisWorkbook.Name End Sub Private Sub Workbook_Open() MsgBox Me.Name End Sub いずれも、ブック名が表示されました。
その他の回答 (2)
- kazuhisa01
- ベストアンサー率32% (158/487)
単純にMe.Nameじゃだめなんですか?
お礼
以前のヴァージョンのVBA記述で見た記憶がありました。 ありがとうございました。
- saisho_wa_goo
- ベストアンサー率32% (31/96)
次の記述でフルパス名が得られます。 ThisWorkbook.FullName VBAが記述されているbookというより、いま対象としているbookのフルパスになるような気がしますが、そこはアレンジして下さい。
お礼
フルパスでの取得もできるんですね。 ありがとうございました。
お礼
必要に応じて、使い分けてみます。 ありがとうございました。