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 - 复制粘贴单词表而不合并的主要内容,如果未能解决你的问题,请参考以下文章