我試圖從excel中複製和粘貼表格到word文檔中。VBA複製和粘貼宏!=手動複製粘貼
我可以手動做 - 突出顯示單元格,CTRL + C,轉到單詞CTRL + V.它工作正常。
但是,當我寫一個宏來做它的單元格的高度是兩倍,就像每個單元格中的行高因某些原因而發生更改。爲什麼它不同?我記錄了手動過程,並調用了相同的函數(PasteExcelTable)。
Set wordDoc = wordApp.Documents.Open(wordDocPath)
With wordDoc
' cost report
Dim wordRng As Word.Range
Dim xlRng As Excel.Range
Dim sheet As Worksheet
Dim i As Integer
Dim r As String
'Copy the cost report from excel sheet
Set sheet = ActiveWorkbook.Sheets("COST REPORT")
i = sheet.Range("A:A").Find("TOTAL PROJECT COST", Range("A1"), xlValues, xlWhole, xlByColumns, xlNext).row
r = "A11:M" + Trim(Str(i))
Set xlRng = sheet.Range(r)
xlRng.Copy
'Copy and Paste Cost report from Excel
Set wordRng = .Bookmarks("CostReport").Range 'remember original range
If .Bookmarks("CostReport").Range.Information(wdWithInTable) Then
.Bookmarks("CostReport").Range.Tables(1).Delete
End If
.Bookmarks("CostReport").Range.PasteExcelTable False, False, False
.Bookmarks.Add "CostReport", wordRng 'reset range to its original positions
End With
你可能[查看文檔(HTTP:// MSDN .microsoft.com/en-us/library/aa202201%28v = office.10%29.aspx)並嘗試使用'true'作爲最後兩個參數之一,看看是否可以修復它。 –
如果我將最後一個設置爲true(RTF),它看起來不同,但看起來不像CTRL + V.但是通過在將代碼粘貼爲HTML之後更新代碼中的格式,我變得非常接近。 – mobiletim