私は比較的多くのデータをExcelのワークブック内で転送していますが、他にもいくつかのことを行い、activeWorkbook.save
を使ってファイルを最後に保存しますは、VBAの問題とその回避方法を凌駕しています
しかし、私にはわからない理由から、ファイルが長い間開いていて、ファイルを保存したときにそのファイルが別のユーザーによって編集されたというメッセージが表示され、他のユーザーに通知して保存しないように促します他のユーザーが行った変更を上書きすることができます。何があっても上書きされるようにサブコードをコーディングする方法はありますか?そのダイアログボックスが表示された場合、サブが実行されないようにしますか?
また、他の誰もファイルを編集していないので、なぜ私にそのメッセージが最初に届くのか分かりません。
ありがとうございました!
ThisWorkbook.Saved = False
Application.DisplayAlerts = False
ThisWorkbook.SaveAs ThisWorkbook.FullName, FileFormat:=52
Application.DisplayAlerts = True
If Not ThisWorkbook.Saved Then MsgBox "Saving the file failed." & Chr(10) & "Please try again later..."
ワークブックの.Saved
プロパティは読み取りおよび書き込み可能である:
多分あなたはこのようなものを探しているでしょう: 'If ThisWorkbook.MultiUserEditing Then ThisWorkbook.ExclusiveAccess'? – Ralph
どこにコードを置くのですか?サブの外? – Vbasic4now
'ThisWorkbook'内の' Workbook_Open'イベントで、編集が完了する前です。それが失敗し、排他的アクセスを得ることができないので、正常に処理されるような状況も処理する必要があります。 – Dave