【发布时间】:2019-01-22 06:53:42
【问题描述】:
我需要将表格复制到现有的 Word 文档中 我需要将数据粘贴到 word 文档中的特定位置,例如在书签之后
我有一个可以复制和粘贴的代码,但不能复制到现有文档中。 我尝试扩展/更改代码,但不知道如何粘贴到目标。
Sub PasteIntoWord()
Dim WrdApp As Word.Application
Dim WrdDoc As Word.Document
Dim objWord
Dim ExcRng As Range
Set WrdApp = New Word.Application
WrdApp.Visible = True
WrdApp.Activate
Set WrdDoc = WrdApp.Documents.Add
Set ExcRng = ActiveSheet.Range("testdata")
ExcRng.copy
WrdDoc.Paragraphs(1).Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=True, RTF:=False
Application.CutCopyMode = False
End Sub
这可行,并粘贴到新文档中。 但我想将数据粘贴到此文档中:wordApp.Documents.Open "c:\users\peter\documents\Data skal ind her.docm"
我需要在这里:
Here is text part 1
And I would like to have my “testdata” pasted here:
Xxx
This is bookmark ”xxx”
最好的问候 彼得 pg@pb.dk
【问题讨论】:
-
Set WrdDoc = WrdApp.Documents.Add的行正在创建一个新的空文档。你希望它是Set WrdDoc = WrdApp.Documents.Open(path)。然后,您需要在该文档中找到正确的Bookmark- 并相对于该书签的位置进行粘贴。 -
谢谢马修。这是一个很大的帮助。你有没有想过如何在书签“xxx”之后粘贴数据?
-
我对 Word 自动化不是很熟悉,但我相信有人会看到您的帖子。目标文档是否定义了书签的名称?你试过
Dim mark As Word.Bookmark: Set mark = WrdDoc.Bookmarks("nameOfTheBookmark")之类的吗? -
你好,马修。我发现。问候彼得
-
程序员不使用**用户的**剪贴板。用户控制剪贴板的内容。您正在覆盖用户放置在剪贴板上的数据。使用
range.FormattedText之类的东西。