• 締切済み

Auto_OpenとWorkbook_Openの違いは?

Auto_OpenとWorkbook_Openの違いは何でしょうか? マクロから開かれた場合、Workbook_Openしか実行されないことは認識していますが、それ以外に異なる点は無いのでしょうか? Workbook_OpenやWorkbook_BeforeCloseはブックが最初に開かれたり閉じられたりすると認識していますが、最近このマクロを記述しているブックをウィンドウのバックに置いて、他のブックからこのブックにしようとするとやたら時間がかかるような気がしました。 Workbook_OpenやWorkbook_BeforeCloseを削ったら早くなったような気がしましたが、これは単なる気のせいでしょうか? よろしくお願い申し上げます。

みんなの回答

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.1

同様の疑問を持っている人が、世間にはたくさんいるようで、 「Auto_Open Workbook_Open 違い」 このキーワードでネット検索をかけると、たくさんヒットしますよ。

believe_me
質問者

お礼

回答ありがとうございます。 質問する前に一応ネットで検索はしているのですが、はっきりとした答えが分からなかったのでご質問したまでです。

関連するQ&A

  • Workbook_Openを起動時以外に呼び出す

    標準モジュールに書いた、Sub Auto_Open()なら、ボタンにAuto_Openを登録するなどで、ブックの起動時以外でも呼び出せますが、ThisWorkbookに書いた、Private Sub Workbook_Open()は、ボタンにWorkbook_Openを登録しても作動しません。 どのようにすればよいのでしょうか?

  • アクセスでauto_openは使えない?

    エクセルの場合は、ブックを開いたと同時にマクロを実行させたい時は、 auto_openと言うマクロを標準モジュールに作れば可能ですが、 アクセスVBAの標準モジュールに、auto_openというプロシージャーを作って、 アクセスを再起動しても何も起こりません。 アクセスにおいて ファイルの起動と同時にマクロを実行させたいのなら、 どこかのフォームのOpenイベントに実行させたいコードを記載して、 起動時の設定で、そのフォームを選択するしかないのでしょうか?

  • Sub Auto_Open() 実行されない

    Excel2003VBAについて教えてください。 あるBookから、VBAの”Workbooks.Open”で別のブックを開くように作ってあるのですが、開かれるBookのほうに”Sub Auto_Open()”で特定のシートをアクティブにするように作っています。 普通にBookを開くとSub Auto_Open()は実行されますが、”Workbooks.Open”では実行されません。 ”Workbooks.Open”で開いたときに、特定のシートがアクティブになればそれでよいのですが。 よろしくお願いします。

  • Workbook_BeforeClose イベントで

    Win2000Pro SP-4、Office2000 SP-3使用しています。 ExcelVBAのブックを閉じる時のイベントで、オートフィルタの解除と再設定を行い、上書き保存するコードを記述いたしました。 しかし実行後ファイルを開いてみるとオートフィルタの解除だけされており、再設定がされておりませんでした。 上書き保存のコードを省くと再設定されていました。 標準モジュールに同じコードを記述して実行した場合も同様の結果になりました。 解決法がおわかりの方がいらっしゃいましたらお教えくださいませ。 以下のコードをThisWorkbook内に記述しました。 Private Sub Workbook_BeforeClose(Cancel As Boolean)  Application.ScreenUpdating = False    Worksheets(1).AutoFilterMode = False    Range("10:10").AutoFilter    Range("B11").Select    ActiveWorkbook.Close SaveChanges:=True  Application.ScreenUpdating = True End Sub よろしくお願いいたします。

  • Workbookが2つあった場合に

    元のブックAがあります。 もう一つ別のブックBを開いた場合に そのBのデータをAにコピーするマクロを作ったのですが そのBを開いてない場合に実行してしまってもエラーにならないように したいのですが、Bが開いてないことを認識させたい場合 If~thenで記述したいのですが、どう記述すればよろしいでしょうか? ちなみにBを開いた場合は Workbooks(2).Activate このように記述しています。 

  • エクセルの起動を知るには

    サブタイトル  <ブックが開いたことを捕捉するには>、<2つめが開いたことを知るには> こんにちわ。 エクセルブックを開いた時に自動で実行するマクロに Workbook_Open や auto_open と言うのがありますが、 今、マクロのある自分のエクセル(A)を開いた状態で、 新たに2つ目のブック(B)を開いたと言うイベントを捕捉したいのです。 (『あなたは2つ目のこのブックを開きましたね』と言うメッセージを出したい) ブック(A)にどのようなマクロを施せば、 ブック(B)のオープンを知ることができるでしょうか。 教えて下さい。よろしくお願いします。

  • Auto_Open シフトキーの無効

    マクロを有効時にシフトキーを押しながらマクロを有効にするを押すと Auto_Openの処理が動きません(仕様)  逆に、シフトキーを押されてもAuto_Openの処理等のマクロを実行させる方法はありますか? あれば、教えてください。 使用するエクセルは、Excel2003以上で使用します。

  • 【Excel】他ブックからOpenされたブックはUserInterfaceOnlyが効かない?

    標記のとおりの質問です。 あるブックAからブックBをOpenし、 UserInterfaceOnlyでロックしたものを編集しようとするのですが、 その際に 実行時エラー '1004': 変更しようとしているセルは保護されているため、読み取り専用となっています。 とのエラーが出てしまいます。 これはブックBで単独で実行するときには出ない症状です。 他ブックから開かれたブックはUserInterfaceOnlyが作用していないのでしょうか。 因みに、B.Closeを実行した中でのWorkbook_BeforeClose関数内での動作です。 どなたかご教示ください。よろしくお願いいたします。

  • VBA Auto_Close複数ブックを閉じれない

    Auto_Closeについて教えて下さい。 Auto_Closeで、指定のブックを一緒に閉じる処理を 書きましたが、エクセル自体を終了できません。 Workbook_BeforeCloseでも試しましたが、うまく処理 できません。エクセル本体も終了させたいです。 どのように記述したらよいでしょうか? 宜しくお願い致します。 コード Private Sub Auto_Close() '指定のブックを閉じる(すでにAAAファイルは開いている状態) Application.Windows("AAA.xlsx").Close False Application.Quit End Sub

  • Auto_Openマクロ

    Excel2003のマクロで、 Sub Auto_Open() ActiveSheet.DisplayAutomaticPageBreaks = True End Sub としているのですが、起動時に開くシートにしか適用されません。 ページが増えていくのでブック内の全シートに適用するにはどうしたらいいでしょうか?

専門家に質問してみよう