vba - 将文本添加到书签 - Runtimeerror 428

时间:2013-07-21 12:33:15

标签: vba ms-word

Dim AppWD As Object
Dim objDoc As Object
Dim objDocProdTP As Object
...
Set AppWD = CreateObject("Word.Application") 'Word als Object starten
AppWD.Visible = True
Set objDocProdTP = AppWD.documents.Open(workPath & "\vorlagen\LFPostTemplate.docx")
Set objDoc = AppWD.documents.Open(workPath & "\vorlagen\LFTemplate2.docx")
...
MsgBox (objDocProdTP.Bookmarks.Count)
...
objDocProdTP.Goto what:=-1, Name:="lblPos"
objDocProdTP.TypeText (wbQuelle.Sheets("Tabelle1").Cells(i, 7))

MsgBox (objDocProdTP.Bookmarks.Count)返回19,这是LFPostTemplate.docx中书签的总数。 但是objDocProdTP.TypeText (wbQuelle.Sheets("Tabelle1").Cells(i, 7))返回此对象不支持的Runtimeerror 428“方法或属性”(我的德语错误因此可以自由翻译)

我想要做的是替换标记为书签的文字

另一点是我想将文本附加到书签

中的文本

1 个答案:

答案 0 :(得分:0)

TypeTextSelection的方法,而不是文档的方法。您会发现在Word VBA编辑器中测试表达式很有帮助,然后单击单词(方法或属性等)并按F1进入帮助系统。

您可以使用以下方式更轻松,更有效地设置和检索书签上的文字:

ActiveDocument.Bookmarks("bkTest").Range.Text = "Hello"

objDocProdTP.Bookmarks("lblPos").Range.Text = "Hello"

objDocProdTP.Bookmarks("lblPos").Range.Text = _ 
    objDocProdTP.Bookmarks("lblPos").Range.Text & " hello"