我有一个共享文档,它在关闭时运行各种命令。这包括正常保存(如果文档仍然共享)并保存为共享(如果文档未共享)。如何检查当前用户是否已从共享工作簿中删除?
当一个人将文档打开一段时间然后关闭它时,就会出现问题。该文档会自动覆盖当前文档(如果文档未共享,或者在.save命令运行时提供覆盖选项)并且同时输入的数据可能会丢失。
如何检查用户是否从文档中删除,以便在这种情况下可以跳过保存部分?
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For i = 1 To Sheets.Count
If Sheets(i).ProtectContents = False Then
Call Protect_Sheets 'Protects all the sheets
End If
Next i
If ActiveWorkbook.ProtectStructure = False Then
Call Protect_Workbook 'Protects the workbook
End If
If ActiveWorkbook.MultiUserEditing = False Then
Call SaveAsShared 'Saves the workbook as shared (overrides)
Else
ActiveWorkbook.Save 'Only saves as normal when the document was shared upon close (but defaults the current document name (which will override when no attention is paid))
End If
End Sub
如果可能的话,我想另一个“如果”,当用户已经从工作簿中删除终止分(只是调用SaveAsShared函数之前)。 任何帮助将不胜感激! 在此先感谢!
Lou
如果用户已从文档中删除,他们是否知道他们已被删除,他们的文档的临时版本是否知道? – Tbaker 2014-11-06 16:47:19
如何检查临时版本是否仍然连接到文档?我不确定当你被踢出文档时会发生什么......另外,如果是这种情况,我会插入一个消息框告诉他们它们已被删除。 (顺便说一句,非常感谢你看这个) – Lou 2014-11-07 09:54:01
如果你可以告诉他们何时断开连接,如果你在某处保存了一个本地版本,以便在他们需要将它们添加到主文档时不会丢失它们的更改,退出时的代码可以正常运行,因为当它执行workbook.save时,它只会保存在删除时创建的版本 – Tbaker 2014-11-07 12:40:48