在VBA for Word 2010中创建富格文本控件字段
我有一个控制字段,动态添加某些文本。到目前为止,这种方法效果很好。问题是,在一个文本中,我有一个输入字段,用户可以在其中键入文本 我需要将表单文本输入字段硬编码到VBA代码中。这是如何实现的?或者有人能给我指出正确的方向吗 在下面的代码段中,我需要用VBA输入字段替换在VBA for Word 2010中创建富格文本控件字段,vba,word-2010,Vba,Word 2010,我有一个控制字段,动态添加某些文本。到目前为止,这种方法效果很好。问题是,在一个文本中,我有一个输入字段,用户可以在其中键入文本 我需要将表单文本输入字段硬编码到VBA代码中。这是如何实现的?或者有人能给我指出正确的方向吗 在下面的代码段中,我需要用VBA输入字段替换[InputField] ActiveDocument.SelectContentControlsByTitle("Bottom").Item(1).Range.Text = _ "Some Text" & vbNewLin
[InputField]
ActiveDocument.SelectContentControlsByTitle("Bottom").Item(1).Range.Text = _
"Some Text" & vbNewLine & _
"Some Text" & vbNewLine & _
"Some Text" & vbNewLine & _
"Text [InputField] Text"
我不知道你所说的VBA输入字段是什么意思。我想你的意思是“表单输入字段”? 如果是这样,这可能是您问题的解决方案:
Sub TestInsertContentControl()
Dim m_objRange As Range
Dim m_objRangeInsertTextInput As Range
Dim m_objFormField As FormField
Set m_objRange = ActiveDocument.SelectContentControlsByTitle("Bottom").Item(1).Range
m_objRange.Text = "Some Text" & vbNewLine & _
"Some Text" & vbNewLine & _
"Some Text" & vbNewLine & _
"Text "
Set m_objRangeInsertTextInput = m_objRange
m_objRangeInsertTextInput.Start = m_objRange.End - 1
m_objRangeInsertTextInput.End = m_objRange.End
Set m_objFormField = m_objRangeInsertTextInput.FormFields.Add(Range:=m_objRange, Type:=wdFieldFormTextInput)
m_objRangeInsertTextInput.Start = m_objFormField.Range.End
m_objRangeInsertTextInput.End = m_objFormField.Range.End
m_objRangeInsertTextInput.Text = " Some more Text"
End Sub
通过使用代码,我看不到表单输入字段。此外,我还有一个问题,我有一个“文本[forminput]文本”,而不仅仅是“文本[forminput]”。正如我所写的,我不知道你所说的输入字段是什么意思。按ALT+F9可以检查是否存在表单输入字段。请参阅我编辑的答案“文本[forminput]文本”。效果很好,谢谢。您知道如何设置标题(ID),以便通过ActiveDocument访问该字段。选择ContentControlsByTitle(“myField”)我需要通过vba访问该字段,因为“底部”内容被锁定,因此我需要移除特定表单输入字段的锁定。我不明白您到底需要什么。上面代码中的字段是如何插入的“表单输入字段”。表单输入字段没有要设置的标题或ID。它们也没有要设置的灰色默认文本。您的“底部”ContentControl中是否需要ContentControl?请您提出新问题并在此处发布链接。