【发布时间】:2016-08-30 19:11:35
【问题描述】:
我在 Excel 工作簿中有多个工作表。我在循环中进行迭代,在其中复制数据范围并将它们粘贴到 word 中。
问题是每次将工作表的内容复制并粘贴到单词时,以前的所有内容都会消失。
那么如何停止替换之前的内容,让VBA脚本追加到word文档中呢?
Sub ewc()
Dim WordApp As Word.Application
Dim myDoc As Word.Document
Dim WordTable As Word.Table
Dim ws As Worksheet
Dim tbl As ListObject
Application.ScreenUpdating = False
Application.EnableEvents = False
Set WordApp = GetObject(class:="Word.Application")
WordApp.Visible = True
WordApp.Activate
Set myDoc = WordApp.Documents.Open("D:\asd.docx")
For Each ws In ThisWorkbook.Worksheets
Debug.Print ws.Name, ThisWorkbook.Worksheets.Count
ws.UsedRange.Activate
LastRow = StartCell.SpecialCells(xlCellTypeLastCell).Row
LastColumn = StartCell.SpecialCells(xlCellTypeLastCell).Column
Debug.Print LastRow, LastColumn
ws.Range(StartCell, ws.Cells(LastRow, LastColumn)).Select
myDoc.Content.Paste
Set WordTable = myDoc.Tables(1)
WordTable.AutoFitBehavior (wdAutoFitWindow)
myDoc.Save
EndRoutine:
Application.ScreenUpdating = True
Application.EnableEvents = True
'Clear The Clipboard
Application.CutCopyMode = False
Next ws
End Sub
【问题讨论】:
-
我猜如果你不知道如何在现有文本结束后粘贴内容,你可以复制现有文本并将新文本粘贴到顶部?虽然它不起作用似乎很奇怪,但我在 Word VBA 中做得并不多。可能有标签吗?