如何在 Excel VBA 中引用文本 FormField 的内置默认值

问题描述 投票:0回答:1

我正在尝试在 Excel 中编写一些代码,循环遍历多个文档并从 FormFields 中提取详细信息。这些文档都是从同一模板生成的,用户只能在设置的字段中输入详细信息(文档中的其他所有内容都被锁定)。

某些表单字段是可选的,因此留空。但是代码提取了“”值并将其输入到单元格中,这会在代码中引起问题。我希望它将值存储为“”。

[我使用的是Excel 2010]

我尝试过以下方法:

If ActiveDocument.FormFields(1).Range.Text = vbNull Then

If ActiveDocument.FormFields(1).Range.Text = "" Then

If ActiveDocument.FormFields(1).Range.Text = "     " Then

If ActiveDocument.FormFields(1).TextInput.Default = True Then

而且它们似乎都不起作用。

有人知道如何在 FormField 中引用默认值吗?

excel vba default-value form-fields
1个回答
0
投票
Option Explicit
Sub demo()
    Dim FF As FormField
    For Each FF In ActiveDocument.FormFields
        If Len(FF.Result) = 0 Then
            Debug.Print "Default value is in " & FF.Name
        Else
            Debug.Print "Users input is in " & FF.Name
        End If
    Next
End Sub

© www.soinside.com 2019 - 2024. All rights reserved.