0
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“此对象不支持的方法或属性”(我的错误是德语,所以可以免费翻译)

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

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

4

1 回答 1

0

TypeText是 的方法Selection,而不是文档的方法。您会发现在 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"
于 2013-07-21T12:57:23.393 回答