从Excel创建报表到Word时的标题

时间:2014-05-30 06:42:42

标签: excel vba ms-word word-vba

我有一些代码可以在Excel中用Word创建标题:

wdApp.ActiveWindow.ActivePane.View.SeekView = 9
wdApp.Selection.TypeText ThisWorkbook.Worksheets("Rapport").Range("I4").Text
wdApp.ActiveWindow.ActivePane.View.SeekView = 0
Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify

但最后一行发生错误 我想用那一行创建的是我希望标题很好居中。

这就是使用代码的方式。 (不是我想要的)

enter image description here

这就是我希望它看起来的方式

enter image description here

1 个答案:

答案 0 :(得分:0)

选项1: 尝试更改说明的顺序,这一点很重要,您需要在该处添加一个特殊的换行符并获得对齐结果'。这是一个例子:

Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
Selection.TypeText "here is text from Excel" + Chr(11)

选项2: 但是,理由不会给出您所呈现的结果,因为对齐单词会在每个单词之间添加额外的间隔。要获得你需要的结果,你需要添加这样的表:

Dim tmpTBL As Table
Set tmpTBL = Selection.Tables.Add(Selection.Range, 1, 2)

With tmpTBL.Cell(1, 1).Range
    .Text = "Date: " & Now
    .ParagraphFormat.Alignment = wdAlignParagraphLeft
End With
With tmpTBL.Cell(1, 2).Range
    .Text = "here is text from Excel"
    .ParagraphFormat.Alignment = wdAlignParagraphRight
End With

以下屏幕截图显示了这两个选项。 enter image description here