VBA - 复制粘贴单词表而不合并

Posted

技术标签:

【中文标题】VBA - 复制粘贴单词表而不合并【英文标题】:VBA - Copy Paste Word Table without merging 【发布时间】:2021-08-31 04:52:42 【问题描述】:

我目前正在做一些自动化。通过这个过程,我遇到了一个问题。使用 VBA 我需要复制一些表格,并将它们粘贴到特定位置。

这是我的问题:

    如何将它们一个接一个地粘贴?就像我有两个表 A 和 B,我希望模式 A B A' B' A'' B'' 重复

    而这样做,如何让它们不自动合并?

这是我正在尝试制作的小样本:

Private Sub CommandButton1_Click()

Dim n_copies As Integer

n_copies = 2

On Error GoTo close_file

Set WordApp = CreateObject("word.Application")
Set WordDoc = WordApp.documents.Open("\copypaste.docx", ReadOnly = False)

For i = 1 To n_copies

WordDoc.bookmarks("copy").Range.Copy
WordDoc.bookmarks("paste").Range.Paste
Next i

WordDoc.SaveAs "testcpypaste.docx"
WordDoc.Close savechanges:=False
End Sub

close_file:
   WordDoc.Close savechanges:=False
   MsgBox Err.Description
   End Sub

非常感谢您的帮助

【问题讨论】:

您是从 Word 复制到 Excel 吗?向后?请发布您拥有的代码,您卡在哪里以及是否出现任何错误。 我正在尝试从 Word 复制到 Word,并且我已经更新了我正在尝试制作 word 的小样本 使用 VBA 与使用 UI 没有什么不同——您需要在每个表格之间添加一个段落。 我尝试在每次循环时在书签“粘贴”处插入一个段落,但没有帮助:/ 我猜这是因为光标仍在表格内 【参考方案1】:

使用 VBA 与使用 UI 没有什么不同 - 您需要在每个表格之间添加一个段落。

WordDoc.Bookmarks("copy").Range.Copy
Dim i As Integer
With WordDoc.Bookmarks("paste").Range
    For i = 1 To n_copies
        .InsertParagraph
        .paste
        .Collapse wdCollapseStart
        .Move wdCharacter, -1
    Next i
End With

【讨论】:

以上是关于VBA - 复制粘贴单词表而不合并的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 VBA 粘贴到合并的单元格中

VBA研究关于复制粘贴的语句

VBA研究关于工作表单元格复制粘贴的语句

用VBA编写复制功能,能不能只粘贴值,不粘贴格式

使用 Excel VBA 实现复制 粘贴 和保存,并自动运行VBA

如何使用特定单词在excel中复制一行并粘贴到另一个excel表?