避免看到“限制编辑”侧栏 - MS WORD

时间:2018-04-05 08:20:15

标签: ms-word word-vba

我创建了一个模板,然后将编辑限制在特定区域。

我添加了一个简单的宏,以避免看到黄色突出显示

ActiveWindow.View.ShadeEditableRanges = False

现在我想避免在用户尝试修改限制区域时出现“限制编辑”侧栏。

我录制了一个宏来查看VBA读取的指令,但是没有命令打开侧边栏...

你认为有办法避免侧边栏出现吗?如果我在excel,我会考虑类似的事情:

 Private Sub RestricEditing_Change(ByVal Target As Range)
' Determine whether the change is in the restricted editing area
   Set checkRange = Application.Intersect(Target, restricted area)

' If the change wasn't in this range then we're done
   If checkRange Is Nothing Then Exit Sub
   Else "do not show the restricted editing sidebar"

先谢谢大家!

1 个答案:

答案 0 :(得分:1)

当我使用以下内容时,任务窗格似乎是"禁用"为用户。它仍然可以通过"限制编辑"功能区的“开发人员”选项卡中的按钮:

Application.Taskpanes(wdTaskPaneDocumentProtection).Visible = False

To"禁用"打开文档时,此窗格我不得不诉诸一些技巧 - 有问题的窗格会暂时显示。这假定文档的开头不应该是可编辑的。 SendKeys将触发该窗格;在计时器上调用禁用。

Sub AutoOpen()
    Application.ScreenUpdating = False
    ActiveWindow.View.ShadeEditableRanges = False
    SendKeys "T"
    DoEvents
    Application.OnTime Now + TimeValue("00:00:01"), "DisableProtectionPane"
End Sub

Sub DisableProtectionPane()
    Application.TaskPanes(wdTaskPaneDocumentProtection).Visible = False
End Sub

我注意到了

  • 当用户通过点击" x"来解除任务窗格时在右上角,行为与使用上面的代码相同。
  • 当文档关闭并再次打开时,此设置和突出显示都将重置为默认值。
  • 使用Application.Taskpanes(wdTaskPaneDocumentProtection).Visible = true并不一定会在Word会话期间重置行为。