私の VBAでは、ワークブックを開くaddin.xlamために使用します。のワークブック計算モードはであるため、 を呼び出した後、 のすべてが自動的に再計算されることがわかります。しかし、これは私が望むものではありません。workbooks.Open("C:\f.xlsm")f.xlsmf.xlsmAutomaticf.xlsmworkbooks.Open("C:\f.xlsm")
ワークブックのモードがAutomatic.
編集1:
@Ripsterが提案したアイデアを試しました:
1)クラスモデルを作成しましCExcelEventsたaddin.xlam:
Private WithEvents App As Application
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
Application.Calculation = xlCalculationManual
End Sub
Private Sub Class_Initialize()
Set App = Application
End Sub
2)開くCExcelEventsコードにリンクしました:addin.xlamf.xlsm
Private XLApp As CExcelEvents
Sub try()
Set XLApp = New CExcelEvents
workbooks.Open ("C:\f.xlsm")
End Sub
次に、try()最初に開いてf.xlsm(自動再計算をトリガーします)、次に計算モードを手動に変更します。ワークブックは、モードを変更する前に既に再計算されています --- 手遅れです! 誰にもアイデアはありますか?