当前位置: 首页 > 知识库问答 >
问题:

VBA-禁用限制Microsoft Word 2016中的样式更改

汪阳辉
2023-03-14

我想禁用此限制样式更改受保护的Microsoft Word文档与VBA代码。

https://helpdeskgeek.com/office-tips/restrict-editing-on-word-documents/

此代码不适用于我:

Sub DisableCheckBox()
    ActiveDocument.Unprotect
    ActiveDocument.Protect Type:=wdAllowOnlyFormFields, noreset:=True, enforcestylelock:=False
End Sub

有什么想法吗?

非常感谢。

编辑:

好啊我试图解释我的问题。

我有很多文件。它们有文本和公式字段,可以用可变的短文本填充。文档被保护为只填充公式化字段,另外-这就是问题所在-存在激活“将格式设置限制为选择样式”

带公式字段的完整文本格式为Arial 10 pt。一些公式字段为Arial 12 pt。

当用户在保护文档中填充文本时,文本为Verdana 12 pt,因为这是默认样式。这就是我想取消激活选项“将格式化限制为可选择的样式”的原因

下一步,我尝试在新word文档中输入vba代码:

https://docs.microsoft.com/en-us/office/vba/api/word.document.protect

活动文档。Protect Type:=wdAllowOnlyFormFields, norest:=True,执行estylelock:=False结果:"限制格式化到所选样式"未激活

然后我尝试另一个新文档:

活动文档。Protect Type:=wdAllowOnlyFormFields, norett:=True,强制执行:=True结果:"将格式化限制为所选样式"激活

代码适用于新文档(复选框“将格式化限制为选择样式”处于打开或关闭状态)。

现在,我使用激活选项“将格式限制为选定的样式”来尝试现有受保护文档的代码

ActiveDocument。解除保护

ActiveDocument。保护类型:=wdAllowOnlyFormFields,noreset:=True,enforcestylelock:=False

结果:"将格式化限制为选择的样式"未被停用

我不知道为什么?

我只需要禁用复选框选项“限制格式化为选择的样式。”用VBA(你可以在图片中看到复选框)。

非常感谢。

在此处输入图像描述

共有1个答案

容远
2023-03-14

删除样式限制似乎存在错误。你可以通过代码来解决这个问题,比如:

Sub DisableCheckBox()
Dim Stl As Style
With ActiveDocument
  On Error Resume Next
  .Unprotect
  On Error GoTo 0
  For Each Stl In .Styles
    Stl.Locked = False
  Next
  .Protect NoReset:=True, Type:=wdAllowOnlyFormFields
End With
End Sub

请注意,除非捕获并存储先前允许或不允许的样式的名称,否则以后无法在代码中撤消该过程。

 类似资料:
  • 问题内容: 我正在尝试更改带有嵌入式图像的按钮的样式 恐怕示例中没有图像。 我试图: 禁用时更改按钮的 禁用时更改按钮中的图像 禁用时禁用悬停效果 当您单击按钮中的图像并将其拖动时,可以分别看到该图像。我想避免那个 可以选择按钮上的文本。我也想避免这种情况。 我试过了。但是无法禁用某些效果。喜欢 和形象。 问题答案: 对于禁用的按钮,您可以使用伪元素。它适用于所有元素。 仅对于支持CSS2的浏览器

  • 问题内容: 有人知道如何在Ubuntu 12.10下禁用或更改CUDA内核的超时限制吗?(在Windows的当前版本中,可以在注册表中设置超时限制。) 也请告诉我Ubuntu是否不可能做到这一点。 我上一次搜索的唯一结果如下: 没有图形显示的情况下运行CUDA内核的程序已连接到GPU 将内核分成较小的内核,以避免超过时间限制 这两种解决方案都不适合我,因为我需要为应用程序提供图形化显示,并且在内核

  • 我正在尝试将字体样式设置为仅位于第二个单词页面之后的表格。到目前为止,我得到了: 我在第一页没有任何表格,但它仍然改变了字体样式(在整个文档中)。 有人知道怎么修吗?

  • 我正在制作一个有棱角的材料网站。它包含一个日期选择器。日期选择器启用了弹出窗口,但禁用了输入。在该样式下输入一条虚线。如何更改样式以使虚线为实线? 文档中有一个禁用输入的日期选择器示例:https://material.angular.io/components/datepicker/examples请参阅“禁用日期选择器”部分。

  • 我正在尝试改变带有嵌入式图像的按钮的样式,如下图所示: null 我尝试在中执行。但无法禁用某些效果。像和image。

  • 我正在尝试在仪表板中为excel图表构建一些自定义主题。在录制宏以查看这些如何实现时,宏录制了以下代码; 我通过谷歌搜索了高低,找到了这些图表样式的列表,或者关于如何自定义它们的任何留档。每次搜索都会返回图表类型常量的链接,即xlLine、xlPie等。而不是Excel功能区图表工具-设计选项卡上可用的主题图表。 如果有人能给我指出正确的方向,我将不胜感激。 编辑: 这些图表样式常量几乎没有文档可