小编Kap*_*ani的帖子

当我在VBA中读取它们的值时,如何阻止Word选择每个FormField?

我在Word 2013中有一个模板文档,用户填写了大量的Legacy Text FormFields.在文档的最后,我添加了一个按钮,将答案编译成没有格式化的字符串,然后将其复制到剪贴板.

可以工作,但是在读取每个FormField时,Word文档会在每个文本字段和文档末尾之间来回跳过.这在视觉上令人担​​忧.有没有办法收集每个FormField的值而不用Word将光标/焦点移动到每个字段时读取?

以下是代码示例:

Private Sub cmdCreateNote_Click()

    Call cmdClearNote_Click

    Dim ff As FormFields
    Set ff = ActiveDocument.FormFields

    Dim Output As String
    Output = ff("ddReviewType").Result & vbCrLf

    If ff("chFacInfo").Result Then
        Dim FacInfo
        FacInfo = Array("Field1: ", _
            "Field2: ", _
            "Field3: ", _
            "Field4: ", _
            "Field5: ")

        Output = Output & "FIRST SECTION" & vbCrLf

        For Index = 1 To 5
            If ff("chFacInfo" & Index).Result Then
                Output = Output & FacInfo(Index - 1) & ff("txFacInfo" & …
Run Code Online (Sandbox Code Playgroud)

vba ms-word word-vba

5
推荐指数
2
解决办法
441
查看次数

标签 统计

ms-word ×1

vba ×1

word-vba ×1