0

我对 VBA 很陌生,我的第一个代码是复制 excel 表并将其粘贴到 word 中。它正在工作,但问题是所有表格都是左对齐粘贴的,我希望它居中对齐。有谁知道该怎么做?将在这里发布我的代码:

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张表!因此,一个一个地居中变得非常无聊。

非常感谢任何帮助!

4

2 回答 2

1

如果有人仍然需要它:

ActiveDocument.Tables(1).Rows.Alignment = wdAlignRowCenter
于 2016-01-06T14:24:41.950 回答
0

所以,我将尝试解释我将如何做第一部分。第一部分在 VBA 之外。在 Word 中,您可以创建或修改表格样式。由于您说您正在使用现有样式,因此您可以修改它们以使表格居中。假设您正在使用 Light Shading 表格样式(这是我从功能区展开表格样式时看到的第一个表格样式)。请执行下列操作:

  • 在 Word 文档中,创建一个基本表格。您只需单击“插入”选项卡中的“插入表格”并插入包含几个单元格的表格。
  • 选择表。您应该会看到“表格工具”选项卡出现在功能区上。单击设计。
  • 您应该在功能区的中心看到一些表格样式。找到您需要的(如有必要,展开下拉菜单),然后右键单击。
  • 从上下文菜单中选择修改表格样式。
  • 将弹出修改样式对话框。
  • 单击格式,然后单击表属性。在 Table Properties 对话框的 Table 选项卡下,查找 Alignment。选择中心,然后单击确定。再次单击确定以保存更改。

现在,当您将该表格样式应用于标准表格时,表格将居中。

如有必要,第二部分是以编程方式应用该样式。我现在没有时间写这部分,但我可以稍后编辑。不过,也许这将是您的起点。

于 2013-05-28T19:53:55.013 回答