我从Excel宏创建一个新的Word文档,并且工作正常。 现在,我想创建一个新的ParagraphFormat对象,以应用于很多段落。 Microsoft Office Dev Center给出了一个宏字示例。
Set oWord_app = CreateObject("Word.Application")
oWord_app.Documents.Add
Set oDoc = oWord_app.Documents(1)
'Micorsoft Def Center:
Dim myParaF As New ParagraphFormat
myParaF.Alignment = wdAlignParagraphCenter
myParaF.Borders.Enable = True
ActiveDocument.Paragraphs(1).Format = myParaF
要使此Word宏适应我的Excel宏,我认为我必须写
Dim myParaF as new oWord_app.ParagraphFormat
但是失败了。正确的方法是什么?
答案 0 :(得分:0)
谢谢您的建议。很抱歉,但我真的不希望检查参考资料。 我只引用了Microsoft Office 14.0对象库,现在我还引用了Microsoft Word 14.0对象库。现在就可以了。新的声明显然是必要的,否则我将收到错误“变量未知”。 我仍然想知道为什么只有在没有“ Word_app”的情况下它才能起作用。 ParagraphFormat”,但已经带有“ ParagraphFormat”。 非常感谢。
这是我用断言表示的代码:
Option Explicit
Dim Word_app As Object, oDoc As Object, bWordVorhanden As Boolean, pFormat As Object
Sub DocumentCreate()
Set Word_app = CreateObject("Word.Application")
Word_app.Visible = True
Word_app.Documents.Add
Set oDoc = Word_app.Documents(1)
Set pFormat = New ParagraphFormat
pFormat.Alignment = wdAlignParagraphCenter
pFormat.Borders.Enable = True
ActiveDocument.Paragraphs(1).Format = pFormat
With oDoc.Paragraphs(1).Range
.Font.Name = "Arial"
.Font.Size = 11
.Font.Bold = True
.ParagraphFormat.Alignment = 1 'wdAlignParagraphCenter
.InsertAfter "hello" 'Text:=Str(oDoc.Paragraphs.Count)
.ParagraphFormat.SpaceBefore = 12
.ParagraphFormat.SpaceAfter = 6
End With
End Sub