Vba 是否可以将textfield添加到数组中?

Vba 是否可以将textfield添加到数组中?,vba,ms-word,Vba,Ms Word,我已经设置了一个宏来将Word表转换为数组,但有些单元格包含空文本表单字段。我想知道是否有办法将它们包含在VBA数组中?其他表混合了字符串和字段,这可能是一个单独的问题,我想首先从最简单的版本开始 最终目标是尝试获取一个表,其中一列包含自动更正代码,另一列包含自动更正文本,以便通过Autocorrect.Entries.AddRichText自动添加到校对/自动更正中 我看了一下,因为这似乎与主题有关,我可以看到如何使用Add方法将字段直接插入到选择区域中。但这无助于获取数组中的字段 ' ...

我已经设置了一个宏来将Word表转换为数组,但有些单元格包含空文本表单字段。我想知道是否有办法将它们包含在VBA数组中?其他表混合了字符串和字段,这可能是一个单独的问题,我想首先从最简单的版本开始

最终目标是尝试获取一个表,其中一列包含自动更正代码,另一列包含自动更正文本,以便通过Autocorrect.Entries.AddRichText自动添加到校对/自动更正中

我看了一下,因为这似乎与主题有关,我可以看到如何使用Add方法将字段直接插入到选择区域中。但这无助于获取数组中的字段

' ... var set up omitted

ReDim MyT(TRow - 1, TCol - 1) As Variant

' ... looping through cells of table code omitted

OCell.Select
If Selection.Fields.Count > 0 Then
    MyT(A, B) = wdFieldFormTextInput 
Else
    MyT(A, B) = Selection.Text
End If
我发现了一个,但同样地,将字段添加到数组中似乎也没有用

' ... var set up omitted

ReDim MyT(TRow - 1, TCol - 1) As Variant

' ... looping through cells of table code omitted

OCell.Select
If Selection.Fields.Count > 0 Then
    MyT(A, B) = wdFieldFormTextInput 
Else
    MyT(A, B) = Selection.Text
End If

我有一个稍后的函数来显示数组,但对于上面的代码,它只是wdFieldFormTextInput枚举值70中的subs,这是有意义的,但绝对不是我所希望的。

这将创建一个新的
FormField
,方法是将它添加到
FormFields
集合中,并将新的
FormField
添加到数组
a

Dim a(1 To 1) As FormField
Set a(1) = FormFields.Add(Range:=Selection.Range, Type:=wdFieldFormCheckBox)

这就是您想要做的吗?

如果您只需要字段的文本,您可能可以使用:

ActiveDocument.Range.TextRetrievalMode.IncludeFieldCodes=False


请参阅:

您正在寻找什么/您正在尝试做什么还不是很清楚。你能提供一些例子来说明源是什么,你得到了什么结果以及你想要的结果吗?