【发布时间】:2020-06-02 15:24:33
【问题描述】:
我有一个包含 7 个表格的 word 文件,我想将其中一个复制到一个 excel 文件中。但我想在每次运行宏时选择要复制哪个表,因为我将有不同的 word 文件,其中包含不同数量的表和要复制的不同表。
现在我有这段代码可以复制您当时选择的单词表:
Dim wrdTbl As Table
Dim RowCount As Long, ColCount As Long, i As Long, j As Long
Dim oXLApp As Object, oXLwb As Object, oXLws As Object
Set wrdTbl = Selection.Tables(1)
ColCount = wrdTbl.Columns.Count
RowCount = wrdTbl.Rows.Count
Set oXLApp = CreateObject("Excel.Application")
oXLApp.Visible = False
Set oXLwb = oXLApp.Workbooks.Open("C:\Sample.xlsx")
Set oXLws = oXLwb.Sheets(1)
For i = 1 To RowCount
For j = 1 To ColCount
Debug.Print wrdTbl.Cell(i, j).Range.Text
With oXLws
.Cells(1, 1).Value = wrdTbl.Cell(i, j).Range.Text
End With
Next
Next
oXLwb.Close savechanges:=True
Set oXLws = Nothing
Set oXLwb = Nothing
oXLApp.Quit
Set oXLApp = Nothing
MsgBox "DONE"
End Sub
PS:我不明白的另一件事是,为什么当我将表格复制到 Excel 时,表格的每个单元格中都会出现一个奇怪的标记。我得到这样的“[]”,我不明白它为什么会出现,因为它不在单词表中。对不起,照片质量不好,我不得不用我的手机来做。
【问题讨论】:
标签: excel vba ms-word copy-paste word-table