Vba 在文档级别禁用Word 2010命令

Vba 在文档级别禁用Word 2010命令,vba,ms-word,Vba,Ms Word,我们希望禁用Word中的任何和所有格式化和插入命令,但从某个模板创建的所有文档中的粗体和斜体命令除外。它不应该能够更改样式、插入除文本以外的任何内容或更改字符格式(上述粗体和斜体格式除外)。有没有办法做到这一点 也许可以使用模板中的VBA autostart宏禁用这些命令?唯一的方法是挂接窗口选择更改(ByVal Sel作为选择)事件,并捕获任何不是字符、粗体或斜体格式的更改。我想这将是一个相当多的编码设置。我想出了如何用RibbonX实现这一点。例如,要禁用粗体命令,请将此RibbonX XM

我们希望禁用Word中的任何和所有格式化和插入命令,但从某个模板创建的所有文档中的粗体和斜体命令除外。它不应该能够更改样式、插入除文本以外的任何内容或更改字符格式(上述粗体和斜体格式除外)。有没有办法做到这一点


也许可以使用模板中的VBA autostart宏禁用这些命令?

唯一的方法是挂接
窗口选择更改(ByVal Sel作为选择)
事件,并捕获任何不是字符、粗体或斜体格式的更改。我想这将是一个相当多的编码设置。

我想出了如何用RibbonX实现这一点。例如,要禁用粗体命令,请将此RibbonX XML添加到文档或模板:

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <commands>
        <command idMso="Bold" enabled="false"/>
    </commands>
</customUI>


当然,用户仍然可以粘贴粗体文本。

AFAIK例如,您只能使用“通过密码保护文档”来防止“编辑”,但某些格式选项。。。我想你必须在更高的层次上解决这个限制(OSI8可能),但实际上不是这样。可以使用文档中的单个纯文本内容控件来完成大部分操作,并将格式限制为仅填写表单。但即使是这个CC也会采用其他类型的字符格式,比如下划线和颜色。我一直在读这方面的文章,似乎RibbonX也能做到这一点。我会尽快找到答案。不幸的是,这只是隐藏了一点问题,并不能阻止它。用户不仅可以粘贴粗体文本,还可以通过键盘选择某些内容并键入Ctrl+B来设置格式。@Otaku:这是不正确的。通过使用RibbonX禁用命令(不仅仅是UI元素),命令本身被禁用。用户不能通过键盘快捷键、菜单项或任何其他方式使用它。使用这种方法,我们实现了防止所有不必要的编辑的目标。不过,我们确实需要加入粘贴活动。有趣的是,我的观点是正确的。谢谢你的跟进。