19

VBA を使用してスプレッドシートを開いていますが、いくつかのワークブックには Workbook_Open() が呼び出されたときに実行を開始するコードが含まれています。

VBA を使用してワークブックを開き、コードの自動実行を停止するにはどうすればよいですか? ワークブックを開いてシート内の数式を確認するだけです。コードを実行したくありません。

4

4 に答える 4

27

ワークブックを VBA で開く前にイベントを無効にしてから、モジュールの残りの部分で再度有効にしますか? 次のようなものを使用してみてください。

Application.EnableEvents = False   'disable Events
workbooks.Open "WORKBOOKPATH"      'open workbook in question
Application.EnableEvents = True    'enable Events
于 2013-04-30T14:05:04.297 に答える
7

vbaなしで開く別の方法

Start Excel Application > Go to File > Recent >

ここに画像の説明を入力

Shift キーを押しながらダブルクリックして開きます -

これを行うと、Workbook_Openイベントが発生しなくなり、Auto_Openマクロが実行されなくなります。

または、Shift キーを押しながらダブルクリックしてワークブックを開きます。


VBAApplication.EnableEventsプロパティを操作する場合 (Excel )

于 2015-10-08T01:26:05.620 に答える
2

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
于 2014-01-10T03:27:20.107 に答える