我是VBA的新手,我的第一个代码是复制excel表并将其粘贴到word。它工作正常,但问题是所有表格都是左对齐粘贴的,我希望它 center 对齐。有谁知道怎么做?要在这里发布我的代码:
Sub excel2word()
Dim objWord As New Word.Application
'Copy the range Which you want to paste in a New Word Document
Set objWord = CreateObject("Word.Application")
For i = 2 To 200
With objWord
.Documents.Add
Sheets("Plan2").Select
Range("A" & i).Copy
.Selection.PasteAndFormat (wdFormatPlainText)
.Selection.TypeParagraph
Sheets("Teste").Select
Range(Cells((26 * (i - 1) + 1), 1).Address, Cells(((26 * (i - 1) + 7)), 3).Address).Copy
.Selection.PasteExcelTable True, False, False
.Visible = True
.Selection.TypeParagraph
Sheets("Teste").Select
Range(Cells((26 * (i - 1) + 8), 1).Address, Cells(((26 * (i - 1) + 16)), 3).Address).Copy
.Selection.PasteExcelTable True, False, False
.Visible = True
.Selection.TypeParagraph
Sheets("Teste").Select
Range(Cells((26 * (i - 1) + 17), 1).Address, Cells(((26 * (i - 1) + 25)), 3).Address).Copy
.Selection.PasteExcelTable True, False, False
.Visible = True
.Selection.TypeParagraph
End With
Next
End Sub
正如您所看到的,此代码复制在一次交互时粘贴3个表,即总共600个表!因此,逐个中心变得非常无聊。
非常感谢任何帮助!
答案 0 :(得分:0)
所以,我将尝试解释我将如何做到第一部分。第一部分是在VBA之外。在Word中,您可以创建或修改表格样式。由于您说您正在使用现有样式,因此可以修改它们以使表居中。假设您正在使用Light Shading表格样式(这是我从功能区扩展表格样式时看到的第一个表格样式)。执行以下操作:
现在,当您将该表格样式应用于标准表格时,该表格将居中。
如果有必要,第二部分是以编程方式应用该样式。我现在没有时间写出那部分内容,但我可以稍后编辑。或许这可能是你的起点。
答案 1 :(得分:0)
如果有人仍然需要它:
ActiveDocument.Tables(1).Rows.Alignment = wdAlignRowCenter