【发布时间】:2018-07-11 16:40:37
【问题描述】:
所以总结一下,我正在创建一个 Word 文档并将一个 Excel 表格粘贴到 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
【问题讨论】:
-
你想证明表格中的内容,还是别的什么?
-
可能不相关:您有一个
On Error Goto 0。这意味着“停止所有错误”,并且由于这是默认设置,因此不需要该行 - 除非您的代码前面有一个On Error Resume Next,如果你这样做了 - 在此期间摆脱它故障排除!哦,顺便欢迎您! :-)(另请参阅tour!) -
嗨@TimWilliams 是的,我想证明表格中的内容是正确的:) 我已经尝试了 objDoc.Tables(1) 上的对齐代码,但它也没有用:(
-
@ashleedawg 感谢您的热烈欢迎!会修正错误的东西:)
-
@CindyMeister 是的,我已经尝试过了,表格不合理
标签: vba excel ms-word text-alignment