回答編集履歴
6
ソースのリファクタリング
test
CHANGED
@@ -148,7 +148,7 @@
|
|
148
148
|
|
149
149
|
|
150
150
|
|
151
|
-
If Workbooks.Count = 1
|
151
|
+
If Workbooks.Count = 1 Then
|
152
152
|
|
153
153
|
Application.Quit
|
154
154
|
|
5
ソース間違ってたので修正
test
CHANGED
@@ -90,23 +90,29 @@
|
|
90
90
|
|
91
91
|
For Each wbIdx In exApp.Workbooks
|
92
92
|
|
93
|
-
f
|
93
|
+
If wbIdx.Name <> ThisWorkbook.Name Then
|
94
94
|
|
95
|
-
|
95
|
+
formCloseFlg = True
|
96
96
|
|
97
|
-
|
97
|
+
Workbooks(wbIdx.Name).Close
|
98
98
|
|
99
|
+
Application.Visible = False
|
100
|
+
|
99
|
-
formCloseFlg = False
|
101
|
+
formCloseFlg = False
|
100
102
|
|
101
103
|
|
102
104
|
|
103
|
-
'クローズを中止
|
105
|
+
'クローズを中止
|
104
106
|
|
105
|
-
Cancel = True
|
107
|
+
Cancel = True
|
106
108
|
|
107
|
-
|
109
|
+
|
108
110
|
|
109
|
-
Exit For
|
111
|
+
Exit For
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
End If
|
110
116
|
|
111
117
|
|
112
118
|
|
4
補足の追加
test
CHANGED
@@ -9,6 +9,10 @@
|
|
9
9
|
BeforeCloseイベントでCancelをそのままTrueにしてしまうと最後のブックも閉じられなくなるため、このような形になりました。
|
10
10
|
|
11
11
|
(当ブックのみ起動している場合も含む)
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
難点な部分は、BeforeCloseイベントを循環参照のように動かすため、保守性が少々辛いところです。
|
12
16
|
|
13
17
|
|
14
18
|
|
3
ソースのデグレ修正
test
CHANGED
@@ -44,7 +44,7 @@
|
|
44
44
|
|
45
45
|
'ブックの非表示
|
46
46
|
|
47
|
-
Windows(
|
47
|
+
Windows(ThisWorkbook.Name).Visible = False
|
48
48
|
|
49
49
|
'ユーザーフォームの表示
|
50
50
|
|
2
文言の修正と補足の追加
test
CHANGED
@@ -6,13 +6,15 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
BeforeCloseイベントでCancelをそのままTrueに
|
9
|
+
BeforeCloseイベントでCancelをそのままTrueにしてしまうと最後のブックも閉じられなくなるため、このような形になりました。
|
10
10
|
|
11
11
|
(当ブックのみ起動している場合も含む)
|
12
12
|
|
13
13
|
|
14
14
|
|
15
15
|
プロセスの状態は質問投稿時点と同様のままです。
|
16
|
+
|
17
|
+
開発環境①②③で共通対応可能の認識です。
|
16
18
|
|
17
19
|
|
18
20
|
|
1
説明の補足を追加
test
CHANGED
@@ -9,6 +9,10 @@
|
|
9
9
|
BeforeCloseイベントでCancelをそのままTrueにすると最後のブックも閉じられなくなります。
|
10
10
|
|
11
11
|
(当ブックのみ起動している場合も含む)
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
プロセスの状態は質問投稿時点と同様のままです。
|
12
16
|
|
13
17
|
|
14
18
|
|