回答編集履歴
3
説明追記
answer
CHANGED
@@ -34,4 +34,8 @@
|
|
34
34
|
'1秒後に実行
|
35
35
|
Application.OnTime EarliestTime:=Now() + TimeValue("00:00:01"), Procedure:="Hoge"
|
36
36
|
End Sub
|
37
|
-
```
|
37
|
+
```
|
38
|
+
|
39
|
+
`Now() + TimeValue("00:00:01")`で1秒後に実行してますが、
|
40
|
+
`Now() + 200 / 86400000` とすると200ミリ秒後(0.2秒後)に実行します。
|
41
|
+
当方の実験では 10ミリ秒後にしても表示されました。
|
2
コード修正
answer
CHANGED
@@ -26,9 +26,12 @@
|
|
26
26
|
|
27
27
|
**ThisWorkBook**
|
28
28
|
```vba
|
29
|
+
Private Sub Workbook_Open()
|
29
30
|
ThisWorkbook.Activate
|
30
31
|
ActiveWindow.Visible = True
|
31
32
|
DoEvents
|
32
33
|
|
34
|
+
'1秒後に実行
|
33
|
-
Application.OnTime EarliestTime:=Now() + TimeValue("00:00:01"), Procedure:="Hoge"
|
35
|
+
Application.OnTime EarliestTime:=Now() + TimeValue("00:00:01"), Procedure:="Hoge"
|
36
|
+
End Sub
|
34
37
|
```
|
1
コード追記
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
```vba
|
2
|
-
Private Sub Auto_Open
|
2
|
+
Private Sub Auto_Open()
|
3
3
|
' 本ブックをアクティブ★
|
4
4
|
ThisWorkbook.Activate
|
5
5
|
ActiveWindow.Visible = True
|
@@ -7,4 +7,28 @@
|
|
7
7
|
|
8
8
|
' 以降は具体的な処理
|
9
9
|
' ...
|
10
|
+
```
|
11
|
+
|
12
|
+
---
|
13
|
+
ループで重い処理を作成して実験してみました。
|
14
|
+
上記ではダメですね。
|
15
|
+
OnTime で遅延実行させたらいいようです。
|
16
|
+
|
17
|
+
**標準モジュール**
|
18
|
+
```vba
|
19
|
+
Public Sub Hoge()
|
20
|
+
|
21
|
+
'実行したい処理
|
22
|
+
|
23
|
+
End Sub
|
24
|
+
|
25
|
+
```
|
26
|
+
|
27
|
+
**ThisWorkBook**
|
28
|
+
```vba
|
29
|
+
ThisWorkbook.Activate
|
30
|
+
ActiveWindow.Visible = True
|
31
|
+
DoEvents
|
32
|
+
|
33
|
+
Application.OnTime EarliestTime:=Now() + TimeValue("00:00:01"), Procedure:="Hoge" '1秒後に実行
|
10
34
|
```
|