teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/10/21 09:30

投稿

ttyp03
ttyp03

スコア17002

answer CHANGED
@@ -16,4 +16,34 @@
16
16
  xlApp.Calculation = xlCalculationAutomatic
17
17
  End Sub
18
18
 
19
+ ```
20
+ ---
21
+ 修正版
22
+ ファイルオープン後2秒後に設定変更をさせます。
23
+ ファイルサイズによってはエラーになるかもしれないので、念のためエラーはスルーさせています。
24
+ その場合は設定変更できません。
25
+ 秒数の調整で突破できるかもしれないので適宜調整をお願いします。
26
+
27
+ ThisWorkbookを以下に変更。
28
+ ```VBA
29
+ Public WithEvents xlApp As Application
30
+
31
+ Private Sub Workbook_Open()
32
+ Set xlApp = Application
33
+ End Sub
34
+
35
+ Private Sub xlApp_NewWorkbook(ByVal Wb As Workbook)
36
+ Application.OnTime Now + TimeSerial(0, 0, 2), "CalcAuto"
37
+ End Sub
38
+
39
+ Private Sub xlApp_WorkbookOpen(ByVal Wb As Workbook)
40
+ Application.OnTime Now + TimeSerial(0, 0, 2), "CalcAuto"
41
+ End Sub
42
+ ```
43
+ 標準モジュールに以下を記述。
44
+ ```VBA
45
+ Public Sub CalcAuto()
46
+ On Error Resume Next
47
+ Application.Calculation = xlCalculationAutomatic
48
+ End Sub
19
49
  ```