0

是否可以使用 VSTO VB 做以下两件事:

  • 隐藏工作表:防止用户取消隐藏他们不应该隐藏的工作表。xlVeryHidden 工作得很好,但它几乎很容易通过使用另一个工作簿并编写一个简单的 VBA 宏来循环并取消隐藏它们。除非由 VSTO VB 代码完成,否则对抗未显示的隐藏工作表的最佳方法是什么?

  • 密码保护表:在 VSTO VB 项目中使用密码保护 Excel 工作表的最佳方法是什么?VSTO 是否提供比 VBA 更好的方法?这是一种简单的密码保护,其中密码保存在易于访问的 XML 文档中?本质上,我锁定了工作表,只允许最终用户编辑某些范围,他们不应该能够编辑它们。

我正在使用 Visual Studio 2012,在文档级别处理 MS Office 2013 Excel 工作簿。

4

1 回答 1

0

您可以将属性Visible设置为XlSheetVisibility .xlSheetVeryHidden 以隐藏工作表。您可能可以尝试通过Application.AutomationSecurity属性禁用宏,然后将其设置msoAutomationSecurityForceDisable为禁用宏。

有一个关于如何以编程方式隐藏 Excel 工作表的漂亮而简洁的教程。请不要忘记查看它。

您可以通过Workbook.SaveAs方法将密码设置为密码保护工作表。此外,如果您想通过Workbook.HasPassword属性检查工作簿是否受密码保护。您还可以找到有关如何保护工作表的本教程。

于 2013-05-31T08:34:52.930 回答