我正在尝试构建一个与 Micrososft Excel 互操作的小型应用程序(2007 如果重要的话)。我的应用程序将启动并连接到 Excel 实例并(以编程方式)将一个或多个形状放置在工作表上。
我需要禁止用户移动和/或调整这些形状的大小。我可以保护工作表,但我需要允许用户编辑单元格内容并调整行和/或列的大小。
有什么办法可以做到这一点?
如果我至少不能禁止,我可以检测形状的移动/调整大小事件并在拖动结束时以编程方式将它们放回原处吗?
我正在尝试构建一个与 Micrososft Excel 互操作的小型应用程序(2007 如果重要的话)。我的应用程序将启动并连接到 Excel 实例并(以编程方式)将一个或多个形状放置在工作表上。
我需要禁止用户移动和/或调整这些形状的大小。我可以保护工作表,但我需要允许用户编辑单元格内容并调整行和/或列的大小。
有什么办法可以做到这一点?
如果我至少不能禁止,我可以检测形状的移动/调整大小事件并在拖动结束时以编程方式将它们放回原处吗?
您实际上可以在不锁定单元格内容的情况下保护工作表,也无需修改单元格属性以指示它们已解锁。
我以前没有使用过 Interop,但这是 VBA 中的代码。这允许修改内容,调整行和列,但不进行形状操作。我相信您或其他人可以轻松翻译它,因为它只是带有参数的工作表的 Protect 方法。
Worksheet.Protect DrawingObjects:=True, Contents:=False, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows :=True