• ベストアンサー

EXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。 作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。 このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。 常にファイル名を取得出来るVBAをどなたか、教えて下さい。

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

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.2

>現在開いているブックのファイル名  ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は ThisWorkbook.Name で、現在 "アクティブにして" 操作対象になっているブックの名前は ActiveWorkbook.Name ですね。  しかし、 >VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり というような文脈からすると、 ThisWorkbook.Name の方ですかね。

tonozaki03
質問者

お礼

早速のご教示、ありがとうございます。「ActiveWorbook.Neme」で、マクロでファイル名を取得することが出来ました。これによってオリジナルのワークブックで、他の者が使うことが出来ました。ありがとうございました。

その他の回答 (1)

  • ok2007
  • ベストアンサー率57% (1219/2120)
回答No.1

「現在開いているブック」であれば、次のとおりです。 MsgBox ActiveWorkbook.Name ご参考までに、「VBAコードを記述したブック」であれば、次のとおりです。 MsgBox ThisWorkbook.Name

tonozaki03
質問者

お礼

早速のご教示、ありがとうございます。MsgBox で確認しファイル名が表示されました。また、マクロで「ActiveWorbook.Neme」で、ファイル名を取得することが出来ました。これによってオリジナルのワークブックで、他の者が使うことが出来ました。ありがとうございました。

関連するQ&A

  • Excelでブック名とシート名の取得方法は?

    Excel2000のVBAで、そのパソコンで開いている全てのEXCELブック名とそれらにあるシート名を取得したいのですが、そんなことはできるのでしょうか?

  • VBAで、アクティブなBOOKのファイル名を取得し

    エクセルのVBAを使用して、選択されている、BOOKのファイル名を取得し、下記のように編集してA1セルに入れたいのですが、可能でしょうか? BOOKのファイル名が「大阪_たこ焼き_1234.xls」の場合 大阪_と.xlsをは省いて、「たこ焼き_1234」がA1セルに入るようにしたい。

  • 【VBA】EXCELブックを開かずにシート名を取得したい

    VBAに関する質問です。 EXCELブックを開かずに、シート名を取得する方法を教えてください。 http://officetanaka.net/excel/vba/tips/tips29.htm ↑を見たのですが、具体的にどのようにしたらよいのかわかりません。 よろしくお願いします。

  • カレントブックのファイル名の取得

    早速ですが。 カレントブック(例:test.xls)の名前をどうやって取得できますか。 マクロ(code)にカレントブック名を固定値(test.xls)で指定していますが、 下記のように、改善したいと思いますが、 ================================= test.xlsのマクロに PCvsFileName="test.xls" Windows("PCvsFileName").Activate ================================= 該当xlsファイル名は常に変わるから、カレントブックのファイル名の取得方法が 知りたいです。 よろしくお願いします。

  • VBAで別プロセスのExcelのフルパスの取得

    いつもお世話になります。 Excel VBAで別プロセスで起動しているExcelブックのフルパスの取得方法を教えて頂けないでしょうか。 前提としては、ファイル自体はローカル環境に保存されているが、どこに保存されているかは分からない、というものになります。 別プロセスの場合はあらかじめフルパスが分かっていれば取得できるといったものはあったのですが、それをそもそも取得したいというのは見つけることができませんでした。 そもそもやりたいのは、プロセスが同じ、別であるに関わらず、起動している全てのExcelブックに対して、マクロを実行したいのですが、フルパスが分かれば処理を行うことができると考え、このような質問をするに至りました。 使用しているExcelは2003になります。 宜しくお願いします。

  • エクセルVBAで、任意指定のファイル名を取得する方法を

    教えて下さい。 ファイル(エクセルブック)を数個開いています。そのうち基本となるファイル(便宜上基本ファイルとします)は常に開いていて、後の数個の作業ファイルを開きます。(作業ファイルはその都度入れ替わり固定のファイルではありません)  基本ファイルを、アクティブな状態でエクセルVBAマクロを走らせます。 そのマクロ実行中に、『ある作業ファイルの任意のセル(任意のセル)をクリックして、そのファイル名とシート名とセルのアドレスとそのセルの値を取得』して、基本ファイルの任意のセル(例えば基本ファイルのsheet1のセルA2~D2に)に記入したいのです。 分かりにくい文で申し訳ないですが、特に上の『 』内の部分です。 どのようにマクロを記述すればいいのか分からないので、教えて下さい。宜しくお願いします。

  • VBAでパスを取得しファイル名を入力するには

    EXCEL2003です。同じフォルダにVBAマクロとデータのcsvファイルがあります。このとき、マクロでパスを取得し、次にcsvファイル名を手入力あるいはそのフォルダの詳細表示からファイルをクリックすればデータを取り込めるようにしたいのですが、どなたかマクロを教えてくれないでしょうか。か。

  • VBAでアカウント名を取得する方法

    VBAで処理したEXCELブックをデスクトップに自動保存しようとしています。VBAで現在作業中のユーザーアカウント名を自動で取得する方法を教えていただきたいのですが。 デスクトップ上にブックを保存するには、パスを記述すればよいのですが、現在PC毎にユーザーアカウントを設定しユーザー名が異なっています。 このため、PC毎にこのユーザー名をデスクトップへのパスに入れ込まなければなりません。毎回キーボードからこのユーザー名を入力する方法もありますが、自動的にユーザー名を取得し、正しいパスを指定する方法を検討しています。 どなたか、VBAでこのユーザー名を取得する方法が有れば教えていただきたいのですが。 よろしくお願いいたします。

  • 【VBA】EXCELブックを開かずにファイルのプロパティを取得したい

    VBAに関する質問です。 対象のエクセルブックを開かずに、エクセルファイルのプロパティ(タイルト名など)を取得する方法を教えてください。 「DSO」を使用すれば所得できることは分かりましたが、別の方法で取得することは可能でしょうか?できれば「DSO」をインストールしていないパソコンからでも取得できるようにしたいと思っています。 心当たりのある方、アドバイスいただければと思います。

  • VBA(エクセル)でアクティブファイル名の取得できますか?

    エクセルでVBAを使用して、自分自身のファイル名を取得できますか?そんなコマンドありますか? (Aと云うエクセルファイルにVBAを仕込み、自分自身がAというエクセルファイル名であることを、認識(取得)させることが出来るでしょうか) かなり素人ですので宜しく教示願います。

専門家に質問してみよう