防止 Excel 文档被覆盖
Prevent Excel document being overwritten
我正在为客户创建 Excel 报告,使多用户能够提取与其业务部门相关的数据,并且正在探索保护文档不被覆盖的选项,同时仍然允许宏 运行和要编辑的文档。
谷歌搜索提供了三种常用的推荐方法:
1) 保存时用密码保护文件,普通用户无法覆盖原文件
- Pro:不需要vba,没有版本控制问题
- 缺点: 忘记密码的风险,弹出窗口可能会让用户感到厌烦
2) 创建一个 workbook_beforesave 事件以防止原始文件被覆盖
专业版:无弹出/用户不可见,无版本控制问题
缺点: 如果项目是密码,则存在忘记密码的风险,需要 vba 这可能会让一些人望而却步
3) 将文件另存为 .xltm(模板),这会强制用户另存为新文档而不是覆盖
Pro: 无弹出窗口/对用户不可见,无密码问题,不需要vba
缺点: 更改必须在原始文件中完成,然后重新保存为模板,因此可能会导致版本控制问题。
对于每个建议的选项,是否还有任何其他选项或进一步 pros/cons 需要考虑?
如何将文档另存为 Read-only?这样他们就无法保存原始文件。
执行此操作文件 > 另存为,然后单击保存按钮旁边的工具按钮,如图所示,然后单击常规选项并选中只读框,如下图所示。
我正在为客户创建 Excel 报告,使多用户能够提取与其业务部门相关的数据,并且正在探索保护文档不被覆盖的选项,同时仍然允许宏 运行和要编辑的文档。
谷歌搜索提供了三种常用的推荐方法:
1) 保存时用密码保护文件,普通用户无法覆盖原文件
- Pro:不需要vba,没有版本控制问题
- 缺点: 忘记密码的风险,弹出窗口可能会让用户感到厌烦
2) 创建一个 workbook_beforesave 事件以防止原始文件被覆盖
专业版:无弹出/用户不可见,无版本控制问题
缺点: 如果项目是密码,则存在忘记密码的风险,需要 vba 这可能会让一些人望而却步
3) 将文件另存为 .xltm(模板),这会强制用户另存为新文档而不是覆盖
Pro: 无弹出窗口/对用户不可见,无密码问题,不需要vba
缺点: 更改必须在原始文件中完成,然后重新保存为模板,因此可能会导致版本控制问题。
对于每个建议的选项,是否还有任何其他选项或进一步 pros/cons 需要考虑?
如何将文档另存为 Read-only?这样他们就无法保存原始文件。
执行此操作文件 > 另存为,然后单击保存按钮旁边的工具按钮,如图所示,然后单击常规选项并选中只读框,如下图所示。