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

回答編集履歴

1

解説追記

2020/09/18 07:34

投稿

kuma_kuma_
kuma_kuma_

スコア2506

answer CHANGED
@@ -6,4 +6,29 @@
6
6
  ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, AccessMode:=xlShared
7
7
  Application.DisplayAlerts = True
8
8
  ActiveWorkbook.Close SaveChanges:=False
9
- ```
9
+ ```
10
+
11
+ 追記
12
+ ```VBA
13
+ ActiveWorkbook.ProtectSharing '共有設定
14
+ ```
15
+ これだけで共有設定とセーブ再立ち上げが行われます
16
+ なので
17
+ ```VBA
18
+ ActiveWorkbook.Save
19
+ ```
20
+ こちらは不要
21
+
22
+ で問題がこちらを実行すると(セーブキャンセルしても)内容を共有前に上書きします。
23
+ ```VBA
24
+ ActiveWorkbook.Close
25
+ ```
26
+
27
+ なので方法を変えて
28
+ ```VBA
29
+ ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, AccessMode:=xlShared
30
+ ActiveWorkbook.Close
31
+ ```
32
+ ポイントはFilenameで同じ名前で上書き保存することで
33
+ Excel上の展開しているファイルと別と認識させています。
34
+ Closeの場合はすでにセーブ済みなのでなにもなく終了されます。