Excel 到 Word(文本不会对齐)VBA

Excel to Word (Text won't Justify) VBA

总结一下,我正在创建一个 word 文档并将 excel table 粘贴到 Word 文档中。我现在面临的唯一问题是 Word 文档中的文本左对齐,但我希望它对齐。但是,无论我做什么,除非我在 Word 上手动完成,否则我似乎无法证明它是合理的。

请在我的代码下方找到所有不相关的内容。我是一个 VBA 菜鸟,所以我一直在做的就是复制粘贴并尝试使其适应我的需要。到目前为止,除了证明部分外,一切正常。

Dim obj As Object
Set obj = GetObject(, "Word.Application")
If obj Is Nothing Then
    Set obj = CreateObject("Word.Application")
End If
obj.Visible = True

Set objDoc = obj.Documents.Add
a = Sheets("Print").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Print").Range("A1:F" & a).Copy
objDoc.Range.PasteExcelTable False, False, True
objDoc.Activate
objDoc.Tables(1).AutoFitBehavior wdAutoFitContent
Application.CutCopyMode = False
 On Error GoTo 0

With objDoc.Tables(1)
    .PreferredWidth = 505
End With

With objDoc.PageSetup
    .TopMargin = Application.InchesToPoints(0.71)
    .BottomMargin = Application.InchesToPoints(0.71)
    .LeftMargin = Application.InchesToPoints(0.71)
    .RightMargin = Application.InchesToPoints(0.71)
End With

With objDoc
    .Range.ParagraphFormat.LineSpacingRule = wdLineSpace1pt5
    'set paragraph spacing after to 0
    .Range.ParagraphFormat.SpaceAfter = 10
    .Range.ParagraphFormat.Alignment = wdAlignParagraphJustify
 End With

Sheets("DCN Inputs").Select

End Sub

问题是您使用了 Word 枚举值 wdAlignParagraphJustify 但您没有对 Word 对象库的引用。 Excel VBA 无法识别没有特定引用的 Word 对象模型成员 (Tools/References)。

如果您想使用后期绑定,就像您在整个代码中使用的那样,那么您需要替换枚举的数值,在本例中为 3。例如:

objDoc.Range.PasteExcelTable False, False, True
objDoc.Activate 
Set objTable = objDoc.Tables(1)
With objTable
    .AutoFitBehavior wdAutoFitContent
    .PreferredWidth = 505
    .Range.ParagraphFormat.Alignment = 3 'wdAlignParagraphJustify
End With
Application.CutCopyMode = False