创建Word文档时无法设置字段名称

时间:2015-01-14 18:07:23

标签: vba ms-word access-vba field word-vba

我正在使用Office 365.我的Access VBA代码正在创建Word文档。我可以在文档中的表上添加一个字段。但是当我尝试设置字段的名称或字段中的文本时,它就是轰炸。这是我的代码:

Dim WordApp As New Word.Application
Dim WordDoc As New Word.Document
Dim fField As Word.FormField

Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
WordApp.Activate
Set WordDoc = WordApp.Documents.Add
WordDoc.Select
' Here I set up some header text, then I set WordRange to be at the end of the document
Set WordTable = WordDoc.Tables.Add(WordRange, 6, 4)

With WordDoc.Tables(1)
    Set oRange = .Cell(1, 2).Range
    Set fField = ActiveDocument.FormFields.Add(Range:=oRange, Type:=wdFieldFormTextInput)
'
' If I do it either of the two ways below, I get a 'Runtime error 91: Object Variable or With block variable not set'
'
fField.Range.Fields(1).Result.Text = "FirstName"
fField.Range.Text = "FirstName"
'
' The same error comes up when I try to
'
fField.Name = "FirstName"
End With

我在网站上看过这两种方法的例子,他们似乎都说这会有效。

请注意我已经砍掉了一堆填充表格的东西,但我认为它对我在这里做的事情没有任何影响。

它在任何一条线上爆炸:

fField.Range.Fields(1).Result.Text = "FirstName" 

fField.Range.Text = "firstName" 

(我一次只使用其中一个,我注释掉另一个)。这两个都会导致以下错误。

  

运行时错误91:对象变量或未设置块变量。

在等待响应时,我将所有代码复制到临时例程中,我摆脱了所有无关紧要的东西。我发现当我尝试将字段放入表格时,它会发生炸弹(在上面提到的行中),但是当我在表格外创建字段时,它可以设置字段的文本和名称没有问题!任何想法如何让我在一个表内工作???

1 个答案:

答案 0 :(得分:0)

我需要先解决Cell:     .Cell(1, 2).Range.FormFields(1).Result = "Joseph"和     .Cell(1, 2).Range.FormFields(1).Name = "FirstName" 而不是     fField.Text