dポイントプレゼントキャンペーン実施中!

WindowsXP-Proです。
Excelヴァージョンは2003です。

ExcelVBAでコーディングしています。
で、自分自身(つまり、このVBAコードを記述しているExcel本体)のBook名を取得したいのですが、何か関数は用意されていますでしょうか?

自分自身のBook名を取得したい理由は、VBAコードを記述しているExcel本体のファイル名(Book名)の名前が変更されても、VBAが正常に機能するように、今現在のBook名を取得したいのです。

複数のExcelファイルを、このVBAで操作しているため、
Workbooks("本体のBook名").Activate
を用いており、仮にファイル名(本体のBook名)の名前が変更されても、VBAが正常に機能できるように、"本体のBook名"部分を固定ではなく、可変で持てるようにしたいからです。

A 回答 (3件)

Public Sub Auto_Open()


  MsgBox ActiveWorkbook.Name
  MsgBox ThisWorkbook.Name
End Sub

Private Sub Workbook_Open()
  MsgBox Me.Name
End Sub

いずれも、ブック名が表示されました。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/07/20 11:48

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2007/07/20 11:46

次の記述でフルパス名が得られます。


ThisWorkbook.FullName

VBAが記述されているbookというより、いま対象としているbookのフルパスになるような気がしますが、そこはアレンジして下さい。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/07/20 11:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!