回答編集履歴

1

解説追記

2020/09/18 07:34

投稿

kuma_kuma_
kuma_kuma_

スコア2506

test CHANGED
@@ -15,3 +15,53 @@
15
15
  ActiveWorkbook.Close SaveChanges:=False
16
16
 
17
17
  ```
18
+
19
+
20
+
21
+ 追記
22
+
23
+ ```VBA
24
+
25
+ ActiveWorkbook.ProtectSharing '共有設定
26
+
27
+ ```
28
+
29
+ これだけで共有設定とセーブ再立ち上げが行われます
30
+
31
+ なので
32
+
33
+ ```VBA
34
+
35
+ ActiveWorkbook.Save
36
+
37
+ ```
38
+
39
+ こちらは不要
40
+
41
+
42
+
43
+ で問題がこちらを実行すると(セーブキャンセルしても)内容を共有前に上書きします。
44
+
45
+ ```VBA
46
+
47
+ ActiveWorkbook.Close
48
+
49
+ ```
50
+
51
+
52
+
53
+ なので方法を変えて
54
+
55
+ ```VBA
56
+
57
+ ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, AccessMode:=xlShared
58
+
59
+ ActiveWorkbook.Close
60
+
61
+ ```
62
+
63
+ ポイントはFilenameで同じ名前で上書き保存することで
64
+
65
+ Excel上の展開しているファイルと別と認識させています。
66
+
67
+ Closeの場合はすでにセーブ済みなのでなにもなく終了されます。