プロが教えるわが家の防犯対策術!

Sub sample()

Dim destPath As String
destPath = ThisWorkbook.Path

Dim sheetName As String
sheetName = "table1"

Worksheets(sheetName).Copy
ActiveWorkbook.SaveAs Filename:=destPath & "\" & sheetName & ".xlsx"

ActiveWorkbook.Close

End Sub

このようなマクロを複数回実行すると、2回目以降は同じファイルが保存されるので、「ファイルを置き換えますか?」の警告が出ることを期待していたのですが、勝手に置き換わってしまいます。Excelの設定の問題なのか調べたのですがよく分かりませんでした。ご教授いただけると助かります。

質問者からの補足コメント

  • destPathの中身を見てみたら、C:〜の形式を期待していたのですが、https:〜となっていました…。調べたら、OneDriveの影響な気がするのですが、これについてよくわからないので、This.Workbook.Pathがhtts:〜ではなく、C:〜のパスを取得する方法をご教授いただけますでしょうか?

      補足日時:2021/12/22 14:29

A 回答 (2件)

こんばんは。



普通は警告が出て、そこでマクロが一旦停止すると思うのですが。

記事を検索しても、警告を出さないで、上書きする記事は見付かりますが、
その逆は、普通はないかと思います。
https://excel-toshokan.com/vba-newbook-save-same …

サーバー上のファイルとかでしょうか?


少し面倒ですが、自分と同じファイル名があるかを調べる方法。
https://teratail.com/questions/122710
    • good
    • 1

No.1の者です。



検索しただけですが、下記の記事が参考になるでしょうか?
https://www.excellovers.com/entry/collaboration01
    • good
    • 1
この回答へのお礼

解決しました!
丁寧にご説明していただきありがとうございました。

お礼日時:2021/12/22 14:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!