您的代码可以在启用工作簿共享时使用共享工作簿中可用的任何功能,并且可以在工作簿时使用受保护工作簿中可用的任何功能保护模式已开启。
请注意,您无法在共享工作簿时查看其代码,但您仍然可以运行宏。
共享工作簿和保护工作簿是独立的功能,它们都限制可以在当前工作簿中执行的操作,您的代码需要先关闭它们中的每一个,然后才能执行这些功能会阻止的操作。
以下都是工作簿对象的属性或方法。
工作簿保护:
Protect(Optional password) 是一种打开工作簿保护的方法,如功能区命令 Review |保护工作簿。
Unprotect(Optional password) 是一种关闭工作簿保护的方法,如功能区命令 Review |取消保护工作簿。如果使用密码启用了工作簿保护,则需要 password 参数。
共享工作簿功能:
MultiUserEditing 是一个只读布尔属性,指示共享工作簿功能当前是否开启。
ExclusiveAccess() 是一种不带参数并禁用共享工作簿功能的方法。这样做的副作用是阻止共享工作簿中的其他活动用户将他们的更改保存到原始文件。
共享工作簿功能没有自己的方法,而是使用工作簿的 SaveAs 方法和参数 AccessMode:=xlShared 来打开它(无论如何都需要保存工作簿)。
如果这还不够复杂,还有另一个适用于共享工作簿功能的保护功能。
保护共享工作簿功能:
ProtectSharing(optional SharingPassword) 是一种启用共享保护的方法,如功能区命令 Review |保护共享工作簿。当此功能开启时,共享工作簿功能无法关闭(即您必须先关闭此保护)。使用此方法还将打开共享工作簿功能(如果尚未打开)。
Unprotect Sharing(optional SharingPassword) 是一种关闭共享保护的方法(允许随后禁用共享工作簿功能)。如果使用密码启用了保护共享工作簿,则需要 SharingPassword 参数。
阅读:
我尽量保持简单(信不信由你)。我强烈建议阅读workbook object 和share workbook 功能的成员,并进行大量测试,因为有很多细微差别要学习。