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

質問編集履歴

6

2021/09/06 05:26

投稿

montagna
montagna

スコア1

title CHANGED
File without changes
body CHANGED
File without changes

5

2021/09/06 05:26

投稿

montagna
montagna

スコア1

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

2021/09/06 05:26

投稿

montagna
montagna

スコア1

title CHANGED
File without changes
body CHANGED
File without changes

3

2021/09/06 05:25

投稿

montagna
montagna

スコア1

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
- ```CancelBoolean型で共有
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
- ```CloseModeInteger型で共有
65
+ ```CloseMode As Integer
66
66
  If CloseMode = 0 Then
67
67
  If MsgBox("キャンセルしますか?", vbYesNo) = vbYes Then
68
68
  btn = CloseMode 'btn:パブリック変数

2

2021/09/06 05:24

投稿

montagna
montagna

スコア1

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

2021/09/06 05:21

投稿

montagna
montagna

スコア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