如何将 copy/paste 表格从 Excel 转换为 Word 文档
How to copy/paste tables from Excel to a Word document
我想 copy/paste 从 Excel sheet 到 .docx 的表格。我有一个词 #tableauxvdd,我想用我的表替换它。
所以我写了这段代码
With word_fichier.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "#tableauxvdd"
.Replacement.Text = "#tableauxvdd"
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchWildcards = True
.Execute Replace:=wdReplaceNone
End With
If .Find.Found = True Then
For i = 1 To nombre_de_vdd
Set tblRangeVdd = ThisWorkbook.Worksheets("Info vdd " & i).Range("A1:C6")
tblRangeVdd.Copy
.PasteExcelTable _
LinkedToExcel:=False, _
WordFormatting:=False, _
RTF:=False
Next
End If
End With
但是它不起作用。这是我需要的表格 copy/paste
这是结果
这就是我需要的:
每当您编写代码来自动执行 Word 时,您都需要考虑如果您在 UI 中执行任务,您将采取哪些步骤。
在 Word 文档中,表格总是以段落分隔,因此您的代码也需要这样做。
例如:
If .Find.Found = True Then
For i = 1 To nombre_de_vdd
Set tblRangeVdd = ThisWorkbook.Worksheets("Info vdd " & i).Range("A1:C6")
tblRangeVdd.Copy
.PasteExcelTable _
LinkedToExcel:=False, _
WordFormatting:=False, _
RTF:=False
.InsertParagraphAfter
Next
End If
您还需要以相反的顺序添加表格,例如:
If .Find.Found = True Then
Dim tblRangeVdd As word.Range
Set tblRangeVdd = .Duplicate
With tblRangeVdd
.Collapse wdCollapseEnd
For i = nombre_de_vdd To 1 Step -1
ThisWorkbook.Worksheets("Info vdd " & i).Range("A1:C6").Copy
.PasteExcelTable _
LinkedToExcel:=False, _
WordFormatting:=False, _
RTF:=False
.InsertParagraphAfter
Next
End With
End If
我想 copy/paste 从 Excel sheet 到 .docx 的表格。我有一个词 #tableauxvdd,我想用我的表替换它。
所以我写了这段代码
With word_fichier.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "#tableauxvdd"
.Replacement.Text = "#tableauxvdd"
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchWildcards = True
.Execute Replace:=wdReplaceNone
End With
If .Find.Found = True Then
For i = 1 To nombre_de_vdd
Set tblRangeVdd = ThisWorkbook.Worksheets("Info vdd " & i).Range("A1:C6")
tblRangeVdd.Copy
.PasteExcelTable _
LinkedToExcel:=False, _
WordFormatting:=False, _
RTF:=False
Next
End If
End With
但是它不起作用。这是我需要的表格 copy/paste
这是结果
这就是我需要的:
每当您编写代码来自动执行 Word 时,您都需要考虑如果您在 UI 中执行任务,您将采取哪些步骤。
在 Word 文档中,表格总是以段落分隔,因此您的代码也需要这样做。
例如:
If .Find.Found = True Then
For i = 1 To nombre_de_vdd
Set tblRangeVdd = ThisWorkbook.Worksheets("Info vdd " & i).Range("A1:C6")
tblRangeVdd.Copy
.PasteExcelTable _
LinkedToExcel:=False, _
WordFormatting:=False, _
RTF:=False
.InsertParagraphAfter
Next
End If
您还需要以相反的顺序添加表格,例如:
If .Find.Found = True Then
Dim tblRangeVdd As word.Range
Set tblRangeVdd = .Duplicate
With tblRangeVdd
.Collapse wdCollapseEnd
For i = nombre_de_vdd To 1 Step -1
ThisWorkbook.Worksheets("Info vdd " & i).Range("A1:C6").Copy
.PasteExcelTable _
LinkedToExcel:=False, _
WordFormatting:=False, _
RTF:=False
.InsertParagraphAfter
Next
End With
End If