VBA を使用してスプレッドシートを開いていますが、いくつかのワークブックには Workbook_Open() が呼び出されたときに実行を開始するコードが含まれています。
VBA を使用してワークブックを開き、コードの自動実行を停止するにはどうすればよいですか? ワークブックを開いてシート内の数式を確認するだけです。コードを実行したくありません。
ワークブックを VBA で開く前にイベントを無効にしてから、モジュールの残りの部分で再度有効にしますか? 次のようなものを使用してみてください。
Application.EnableEvents = False 'disable Events
workbooks.Open "WORKBOOKPATH" 'open workbook in question
Application.EnableEvents = True 'enable Events
vbaなしで開く別の方法
Start Excel Application > Go to File > Recent >
Shift キーを押しながらダブルクリックして開きます -
これを行うと、Workbook_Open
イベントが発生しなくなり、Auto_Open
マクロが実行されなくなります。
または、Shift キーを押しながらダブルクリックしてワークブックを開きます。
VBA
Application.EnableEventsプロパティを操作する場合 (Excel )
Application.EnableEventsと Workbook 固有の Application.EnableEvents の組み合わせはうまく機能します。ワークブックが再参照されるたびに (セルのコピーなど)、アクティブ化イベントが再トリガーされます。ワークブックは最初に終了する必要があり、閉じた後はアクセスできないため、これを試してください:
Dim wb as Workbook
Application.EnableEvents = False
Set wb = workbooks.Open "YOURWORKBOOKPATH"
Application.EnableEvents = True
wb.Application.EnableEvents = False
**Code**
wb.Application.EnableEvents = True
wb.Close