質問編集履歴
6
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
5
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
ユーザーフォームの×ボタンが押されたら、
|
4
4
|
ブックを保存せずに閉じ、かつ、プロジェクト全ての処理を終了させたいです。
|
5
5
|
|
6
|
-
### 発生している問題
|
6
|
+
### 発生している問題
|
7
7
|
|
8
8
|
ユーザーフォームのQueryCloseイベントに、
|
9
9
|
・ブックを保存せずに閉じる
|
4
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
3
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
###
|
1
|
+
### 実現したいこと
|
2
2
|
|
3
3
|
ユーザーフォームの×ボタンが押されたら、
|
4
4
|
ブックを保存せずに閉じ、かつ、プロジェクト全ての処理を終了させたいです。
|
@@ -38,7 +38,7 @@
|
|
38
38
|
あるいはと考え、ユーザーフォームと標準モジュールそれぞれで
|
39
39
|
Exit Subで処理を抜けさせようかと考えました。
|
40
40
|
|
41
|
-
```Cancel
|
41
|
+
```Cancel As Boolean
|
42
42
|
If CloseMode = 0 Then
|
43
43
|
If MsgBox("キャンセルしますか?", vbYesNo) = vbYes Then
|
44
44
|
Cancel = False
|
@@ -62,7 +62,7 @@
|
|
62
62
|
標準モジュールがIf文のところで処理を抜けてしまいます。
|
63
63
|
###### 3) CloseModeをパブリック変数で共有
|
64
64
|
|
65
|
-
```CloseMode
|
65
|
+
```CloseMode As Integer
|
66
66
|
If CloseMode = 0 Then
|
67
67
|
If MsgBox("キャンセルしますか?", vbYesNo) = vbYes Then
|
68
68
|
btn = CloseMode 'btn:パブリック変数
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,7 +42,7 @@
|
|
42
42
|
If CloseMode = 0 Then
|
43
43
|
If MsgBox("キャンセルしますか?", vbYesNo) = vbYes Then
|
44
44
|
Cancel = False
|
45
|
-
btn = Cancel
|
45
|
+
btn = Cancel 'btn:パブリック変数
|
46
46
|
Workbooks(main).Close False 'main:パブリック変数
|
47
47
|
MsgBox "処理を中止します。", vbExclamation
|
48
48
|
Exit Sub
|
@@ -65,7 +65,7 @@
|
|
65
65
|
```CloseModeをInteger型で共有
|
66
66
|
If CloseMode = 0 Then
|
67
67
|
If MsgBox("キャンセルしますか?", vbYesNo) = vbYes Then
|
68
|
-
btn = CloseMode
|
68
|
+
btn = CloseMode 'btn:パブリック変数
|
69
69
|
Workbooks(main).Close False 'main:パブリック変数
|
70
70
|
MsgBox "処理を中止します。", vbExclamation
|
71
71
|
Exit Sub
|
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -81,7 +81,7 @@
|
|
81
81
|
マクロの実行をリセットするとExcelが再起動されます。
|
82
82
|
そしてやはり、ユーザーフォームの本来の目的でコマンドボタンを実行した場合、
|
83
83
|
標準モジュールがIf文のところで処理を抜けてしまいます。
|
84
|
-
|
84
|
+
###### 4)妥協する
|
85
85
|
ちなみにですが、妥協してブックを保存せずに閉じることを諦めれば、
|
86
86
|
マクロ実行中のまま固まったり、Excelが再起動されたりといった症状は出ません。
|
87
87
|
|