• ベストアンサー

ExcelVBA:自己のBook名を取得したい

WindowsXP-Proです。 Excelヴァージョンは2003です。 ExcelVBAでコーディングしています。 で、自分自身(つまり、このVBAコードを記述しているExcel本体)のBook名を取得したいのですが、何か関数は用意されていますでしょうか? 自分自身のBook名を取得したい理由は、VBAコードを記述しているExcel本体のファイル名(Book名)の名前が変更されても、VBAが正常に機能するように、今現在のBook名を取得したいのです。 複数のExcelファイルを、このVBAで操作しているため、 Workbooks("本体のBook名").Activate を用いており、仮にファイル名(本体のBook名)の名前が変更されても、VBAが正常に機能できるように、"本体のBook名"部分を固定ではなく、可変で持てるようにしたいからです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#140971
noname#140971
回答No.3

Public Sub Auto_Open()   MsgBox ActiveWorkbook.Name   MsgBox ThisWorkbook.Name End Sub Private Sub Workbook_Open()   MsgBox Me.Name End Sub いずれも、ブック名が表示されました。

THUBAN
質問者

お礼

必要に応じて、使い分けてみます。 ありがとうございました。

その他の回答 (2)

回答No.2

単純にMe.Nameじゃだめなんですか?

THUBAN
質問者

お礼

以前のヴァージョンのVBA記述で見た記憶がありました。 ありがとうございました。

回答No.1

次の記述でフルパス名が得られます。 ThisWorkbook.FullName VBAが記述されているbookというより、いま対象としているbookのフルパスになるような気がしますが、そこはアレンジして下さい。

THUBAN
質問者

お礼

フルパスでの取得もできるんですね。 ありがとうございました。

関連するQ&A

専門家に質問してみよう