回答編集履歴

2

Document_Close プロシージャのコードの改良、およびコメントを追加。

2023/02/01 06:23

投稿

sk.exe
sk.exe

スコア732

test CHANGED
@@ -20,6 +20,25 @@
20
20
 
21
21
  'このドキュメントが閉じられる時
22
22
  Private Sub Document_Close()
23
+
24
+ Dim docNew As Word.Document
25
+
26
+ '現在開かれているドキュメントが1つだけ(このドキュメントのみ)である場合
27
+ If appWord.Documents.Count = 1 Then
28
+ 'ナビゲーションウィンドウを非表示に
29
+ appWord.ActiveWindow.DocumentMap = False
30
+ '画面の更新をオフに
31
+ appWord.ScreenUpdating = False
32
+ 'ダミー用新規ブックの作成
33
+ Set docNew = appWord.Documents.Add
34
+ 'ナビゲーションウィンドウを非表示に
35
+ appWord.ActiveWindow.DocumentMap = False
36
+ '新規ブックを保存せずに閉じる
37
+ docNew.Close False
38
+ Set docNew = Nothing
39
+ '画面の更新をオンに
40
+ appWord.ScreenUpdating = True
41
+ End If
23
42
 
24
43
  'Word アプリケーションの参照を解放
25
44
  Set appWord = Nothing
@@ -45,3 +64,7 @@
45
64
 
46
65
  End Sub
47
66
  ```
67
+
68
+ ### 2023/02/01 15:22 追記:
69
+
70
+ マクロ有効ブックのみが開かれている状況においてそのブックが閉じられた時に、次に開かれたブック上においてナビゲーションウィンドウが表示されないようにするよう、Document_Close プロシージャのコードを修正しました。

1

Document_Closeプロシージャを修正

2023/02/01 02:44

投稿

sk.exe
sk.exe

スコア732

test CHANGED
@@ -18,11 +18,11 @@
18
18
 
19
19
  End Sub
20
20
 
21
- 'このドキュメントが閉じられ
21
+ 'このドキュメントが閉じられ
22
22
  Private Sub Document_Close()
23
23
 
24
24
  'Word アプリケーションの参照を解放
25
- Set appWord = Application
25
+ Set appWord = Nothing
26
26
 
27
27
  End Sub
28
28