【发布时间】:2013-07-23 13:14:40
【问题描述】:
我正在尝试设计一个有一些限制的工作簿,而不在 Excel 中使用 VBA,它在 2007 年和 2010 年兼容。我选择了带有 XML 代码的“Microsoft Office 自定义 UI 编辑器”来限制一些选项:-保存-与信息选项卡一样,插入、删除、移动/复制工作表、隐藏工作表、取消隐藏工作表。我这样做很成功,但我注意到插入表选项卡“ICON”
仍在工作并且可以访问。任何人都可以通过文件中的 XML 指向控件名称来禁用它吗?
我的代码是:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<commands>
<command idMso="FileSaveAsWebPage" enabled="false" />
<command idMso="FileSaveAs" enabled="false" />
<command idMso="FileSaveAsMenu" enabled="false" />
<command idMso="FileSaveAsExcelXlsx" enabled="false" />
<command idMso="FileSaveAsExcelXlsxMacro" enabled="false" />
<command idMso="FileSaveAsExcel97_2003" enabled="false" />
<command idMso="FileSaveAsExcelOpenDocumentSpreadsheet" enabled="false" />
<command idMso="FileSaveAsPdfOrXps" enabled="false" />
<command idMso="FileSaveAsOtherFormats" enabled="false" />
<command idMso="SheetInsert" enabled="false" />
<command idMso="SheetInsertPage" enabled="false" />
<command idMso="SheetDelete" enabled="false" />
<command idMso="SheetRename" enabled="false" />
<command idMso="SheetMoveOrCopy" enabled="false" />
<command idMso="SheetUnhide" enabled="false" />
<command idMso="SheetProtect" enabled="false" />
<command idMso="SheetTabColorGallery" enabled="false" />
<command idMso="SheetTabColorMoreColorsDialog" enabled="false" />
<command idMso="SelectAllSheets" enabled="false" />
</commands>
<backstage>
<tab idMso="TabInfo" visible="false"/>
</backstage>
</customUI>
我也尝试在 Microsoft 和 rondebruin 中搜索 Office Fluent 用户界面控制标识符。
【问题讨论】:
-
你可以找到所有2010
idMsos here -
谢谢 Mehow 的快速响应,是的,我有一个相同的副本,我尝试使用名为“SheetInsertPage”的控件(如上面的代码中所述),但我仍然无法禁用它.你能给我更多建议吗
-
你不能禁用那个标签
-
任何通过 XML 禁用它的机会
-
Jimson,正如@pnuts 所说,Excel 具有很好的内置属性来限制使用和“可编辑性”,包括防止添加新工作表。如有必要,捕获内置选项之外的其他场景的另一种方法是挂钩相关事件并取消或撤消它(例如,您可以注册 Worbook_NewSheet 事件并删除新工作表)
标签: xml excel excel-2007 ms-office vba