
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
まず最初にこの回答は、end-uさんの回答の丸写しです。
thisworkbookのモジュールで実行します。
Private WithEvents xlApp As Application
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set xlApp = Nothing
End Sub
Private Sub Workbook_Open()
Set xlApp = Application
End Sub
Private Sub xlApp_NewWorkbook(ByVal Wb As Workbook)
''ファイルから新規作成を選んだとき実行
MsgBox "NewWorkbook=" & " " & Wb.Name
End Sub
Private Sub xlApp_WorkbookOpen(ByVal Wb As Workbook)
''他のブックを開いたとき実行
MsgBox "OpenBookName=" & " " & Wb.Name
End Sub
No.2
- 回答日時:
>ファイルを開いた際にWorkbook_Open()で
このイベントは、自分のファイルが開かれたときにマクロを実行します。
ほかのファイルが開かれたときにマクロを実行する機能ではありません。
>エクセルの仕様的に無理なんでしょうか……。
エクスプローラや、エクセルの「開く」からブックを開いた時にマクロを実行する方法は、私には分かりません。
ただ、Excelの起動と同時にブックを開き、そのブックにあるマクロから開いたファイル名を取得することはできます。
この回答への補足
なるほど…
強制的にマクロを実行する事は可能なので、
それに条件付けして起動するか否かだけだと思ったのですが、
本来の使い方ではないので、やはり難しそうですね。
ありがとうございます。
No.1
- 回答日時:
こんばんは
Workbook_Open()の時点では、自分のブックがActiveWorkbookになっています。
ここで、ActiveWorkbook.Nameを使っても自分自身のブック名しか取得できません。
(ThisWorkbook.Nameはマクロがおいてあるブック名を取得するので、常に自分自身のブック名しか取得できません。)
Workbooks.Openを使ってブックを開いた直後ならばこの命令で開いたブックがActiveWorkbookになっていますのでActiveWorkbook.Nameでブック名を取得できます。
また、補足要求です
>ある様々なファイル名が書かれたテキストを読み込み、
>そのテキストファイルと同じ名前があったら、マクロを起動する。
「同じ名前があったら」というのはどこにあった場合でしょうか?「すでに開いている」と「あるフォルダの中にある」とで処理が違います。
具体的状況が分からないので、外しているかもしれませんが、以下はすでに開いているブック名を順次表示するマクロです。
sumple()
dim i as long
for i = 1 to workbooks.count
msgbox workbooks(i).name
next i
end
この回答への補足
ご回答ありがとうございます。
ちょっと言葉が足りませんでした。
ExcelVBAのアドインで
ファイルを開いた際にWorkbook_Open()で
様々なファイル名が書かれたtxtファイルを読み込み、
開いたファイル名が、そのテキストファイルにあったら、マクロを起動する。
というのを試しています。
要はファイルを開いた際に、マクロも自動で起動しますよ~という
のをやりたいわけなんですが、
エクセルの仕様的に無理なんでしょうか……。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- PostgreSQL ポストグレにあるExcelファイルを開くには 1 2022/12/13 18:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
マクロの保存先、開いてるすべ...
-
VBA_Book2のFunctionを参照後、...
-
エクセルのvbaにて thisworkboo...
-
エクセル:ブックを開くときに...
-
【Excel】特定セルの内容をテキ...
-
エクセルVBAで作成した別ブック...
-
EXCELブックが勝手に開いて困っ...
-
エクセルの保存方法等について...
-
VBA ユーザーフォームとVISIBL...
-
エクセルのファイルを開く際の...
-
エクセルで複数ファイルのセル...
-
【Excel】マクロの保存先について
-
EXcelのマクロで相対パスでファ...
-
エクセルを開いて文字を打つ際...
-
エクセルで使用期限付きのブッ...
-
エクセル タスクスケジューラ...
-
ブックを開いたとき自動的にバ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
エクセルのvbaにて thisworkboo...
-
マクロの保存先、開いてるすべ...
-
エクセル;相対パスを絶対パスへ...
-
【Excel】マクロの保存先について
-
EXcelのマクロで相対パスでファ...
-
複数のExcelファイルの印刷設定...
-
excelで直前に参照していたブッ...
-
EXCELマクロで、開いてはいるが...
-
[フィルターオプションの設定]...
-
EXCELのボタンによるマクロの登...
-
EXCELブックが勝手に開いて困っ...
-
エクセルで使用期限付きのブッ...
-
エクセルを開いて文字を打つ際...
-
エクセルで未保存に対するメッ...
-
エクセルVBA 個人用マクロブッ...
-
【マクロ】マクロが保存されて...
-
エクセルで複数ファイルのセル...
おすすめ情報