首页 > 解决方案 > .vbs:Word 中页眉/页脚的写保护

问题描述

我目前正在为 word 编写一些可视化的基本脚本 (.vbs)。我需要确定页眉/页脚是否受写保护。我使用了以下代码段:

Sub main(testAction)

Dim doc 'As Word.Document
Dim paAction 'As Engine.clsParamAction
Dim sAction 'As String
Dim paDocument 'As Engine.clsParamAction
Dim sDocumentName 'As String
Dim paValue 'As Engine.clsParamAction

Set paDocument = testAction.paramAction("Document Name", True)
If paDocument Is Nothing Then
    sDocumentName = "#1"
else
    sDocumentName = paDocument.inputView.Value
End If
Set doc = WaitForDocument(sDocumentName , lTimeout)

Set paAction = testAction.paramAction("Action", True)   
sAction = paAction.inputView.value

Set paValue = testAction.paramAction("Value", True)  
select case (lcase(sAction))
    case "headersectionisprotected":
        paValue.actValue = doc.Sections(1).Headers(2).Range.Sections.Item(1).ProtectedForForms
        paValue.HandleActValue
        Exit Sub    
end select
End Sub

该子程序是通过 Tricentis Tosca 调用的——很抱歉,我无法给出可重现的“独立”示例:

集成到 Tricentis Tosca 的子程序

显然,“doc.Sections(1).Headers(2).Range.Sections.Item(1).ProtectedForForms”命令无法按预期工作 - 无论标头是否受保护,返回值始终为真。注意:Tosca 并没有在这里制造麻烦,因为我还集成了其他几个类似的潜艇,而且它们都工作正常。

标签: vbscriptms-word

解决方案


推荐阅读