• ベストアンサー

エクセルファイルを開いた時にVBAを自動実行させるには??

こんにちは。いつもお世話になっています。 エクセルで作ったファイルを開いた時に、VBAを自動実行させたいのですが、どうすれば良いのでしょうか? 自分なりに調べたのですが、メッセージボックスを出す方法しかわかりません・・・。 別にVBA名を入れてもさっぱりダメです。 どうぞよろしくお願いします。

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.4

たとえば標準モジュールに Sub ABC()  VBAの処理 End Sub とある場合、ThisWorkbookに Private Sub Workbook_Open()  ABC End Sub と書いておくと、ファイルを開いたときにABCが自動実行されます。 または Auto_Open()という名前のプロシージャを標準モジュールに作ります。 Sub Auto_Open()  ABC End Sub と標準モジュールに書いておくと、同じくファイルを開いたときにABCが自動実行されます。 両方書いておくと、Workbook_Open() が先に実行されます。

orennji1111
質問者

お礼

できました! ありがとうございました。

その他の回答 (3)

  • Rukky
  • ベストアンサー率57% (8/14)
回答No.3

ThisWorkbookのモジュールに Private Sub Workbook_Open()  MsgBox "でましたか?" End Sub でブックを開いたらでませんか? 記述場所はどこになってますでしょうか?

  • driverII
  • ベストアンサー率27% (248/913)
回答No.2

Auto_Open() という関数を作れば、その関数が自動実行されます。

  • toshi_2000
  • ベストアンサー率30% (306/1002)
回答No.1

標準モジュールでプロシジャ名をauto_openにしてください。

関連するQ&A

  • VBAを実行しないと開けないエクセルファイル

    タイトルのようなエクセルファイルを作りたいです。 閲覧者がVBAの実行を認めない限り、閲覧不可にしたいのです。もし認めない場合はメッセージボックス等で「開くことができません」と表示され、エクセルが閉じるようにしたいです。 どのようなVBAのプログラムを組めば実行できますか?

  • Excel VBA で、ファイルを開いた時、自動的にマクロが実行させる方法

    Excel VBA で、ファイルを開いた時、自動的にマクロが実行させる方法を教えてください。 参考になる、URLでもかまいません。

  • どのファイルを開いた時もマクロを自動実行。エクセル

    新規にエクセルを開いたときだけマクロを自動実行するには、 personal.xlsで Sub auto_open() ' Macro1 Macro Range("A1").Value = "111" End Sub とすれば良いかと思いますが、 新規に開くどのファイルに対しても ファイル名ABC を含んでいる時だけ マクロを自動的に実行するにはどうしたらよいでしょうか? (ファイルを開いてから マクロボタンを押して マクロに”ファイル名を チェックしてA1にデータを書き込む”があるのはだめです。) (アドインでツールバーボタンを押すのもだめです。) エクセルは2003 OSはXPです。 説明不足でしたらすみません。

  • エクセルのマクロをファイル名で自動実行させたい

    毎度お世話になっております。 エクセル2010で不慣れなマクロを作ったのですが、これを特定の名前のファイル名のBookに一括でコピー?、実行させるような方法はないでしょうか? ファイルを開く時に、マクロが動くようにAuto_Openマクロでやっと動くようになったのですが、ファイル名が「製品名(スペース)〇〇〇」の〇〇〇の付いたエクセルBookを開くときに、このマクロが自動で動くようにする方法は無いのでしょうか? ファイル数が結構あるので、これが出来れば非常に助かるのでお知恵をお貸しくださいませ。

  • VBAでエクセルからのファイル名とテキスト化を自動で実行する方法

    マクロを実行して、エクセルのセルからファイル名とテキストファイルを自動で出力したいのですが、VBA初心者なのでプログラムの書き方がわかりません。 どうかVBAのプログラムの書き方を教えて下さい。 【マクロ実行前のエクセル状態】 1.エクセルのA列にファイル名1を入力 2.エクセルのB列にファイル名2を入力 3.エクセルのC列にテキスト出力させたい文字列を入力 【期待のマクロ動作】 ファイル名1+ファイル名2のファイル名でC列の文字列をテキストファイルで出力。 《例》 A B C 1 2 あ ⇒マクロ実行⇒ファイル名『12』テキスト内容『あ』 3 4 い ⇒マクロ実行⇒ファイル名『34』テキスト内容『い』 5 6 う ⇒マクロ実行⇒ファイル名『56』テキスト内容『う』 7 8 え ⇒マクロ実行⇒ファイル名『78』テキスト内容『え』 ・ ・ ・ ・ 上記の様に、一回のマクロ実行で入力されている列のセル全て がファイル名付きのテキストファイルとして出力をさせたいです。 申し訳ありませんが、よろしくお願いいたします。

  • Excel VBA 1行ずつ実行するには 

    いつもお世話になっています。 Excel VBAで記述したマクロを 1行ずつ確かめながら実行する方法を教えてください。

  • エクセル2000VBAでファイルを操作したい

    いつもお世話になっています。 エクセルVBAで別のワークブックを参照したいので workbooks.open Filename:="C:my documents\***.xls" とすると、そのオープンするワークブックのTisWorkbookのWorkbook_Open()で実行している(.show)メニュー(ユーザーフォーム)が開いてしまいます。 このとき、Workbook_Open()を実行させないでワークブックを開く方法って、 なにかありますか? Shiftを押しながらファイルを開くとき、実行されませんよね?それをVBAでできるのですか? よろしくお願いします。

  • VBAを時間指定で自動実行

    就業時間内(9時~6時)でエクセルVBAを指定時間に自動実行させたいです。 エクセルはパソコン起動した朝に、開いておきます。(バックグラウンド) 指定時間になったらVBAを自動実行させたいのです。 指定時間は例えば、 10時11分 10時16分 10時21分 などです。最初の時間から5分間隔で実行。 こういう事はできるのでしょうか?VBAでできるのか? それ以外の方法があるのか?よくわかりません。 詳しく教えてください。

  • EXCELで、マクロ、VBAをクリックせずに実行する方法

    EXCELで、マクロ、VBAは普通、手動で「実行処理」をして動くものだと思いますが、EXCELファイルを開いた瞬間に自動で実行させる方法は有るのでしょうか? 方法が有れば是非教えて下さい。宜しくお願い致します。

  • ファイルオープン時、PERSONALでVBA実行

    新規作成した、エクセルファイルに対し、ファイルオープン時、PERSONALでVBA実行したいのですが。 新しいファイルを開くと、パーソナルのThisWorkBookは、白紙になっています。 新しいファイルにに対しても、実行する方法はないでしょうか。 ご存知の方がおられましたら教えてください。 よろしくお願いいたします。

専門家に質問してみよう