如何使用Delphi MSWord自动化对齐段落?
我想将文本对齐到中心,但我不知道如何实现它。 这是我的密码:如何使用Delphi MSWord自动化对齐段落?,delphi,ms-word,automation,Delphi,Ms Word,Automation,我想将文本对齐到中心,但我不知道如何实现它。 这是我的密码: try MsWord := GetActiveOleObject('Word.Application'); except try MsWord := CreateOleObject('Word.Application'); MsWord.Visible := True; except Exception.Create('Error'); end; end;
try
MsWord := GetActiveOleObject('Word.Application');
except
try
MsWord := CreateOleObject('Word.Application');
MsWord.Visible := True;
except
Exception.Create('Error');
end;
end;
MSWord.Documents.Add;
MSWord.Selection.Font.Size := 22;
MSWord.Selection.Font.Bold := true;
MSWord.Selection.TypeText(#13#10);
MSWord.Selection.TypeText('I want this to be center-aligned');
...
MSWord.ActiveDocument.SaveAs('C:\doc2.doc');
请帮忙
谢谢这对我很有用:
procedure TForm1.Button1Click(Sender: TObject);
var
MSWord : OleVariant;
begin
try
MsWord := GetActiveOleObject('Word.Application');
except
try
MsWord := CreateOleObject('Word.Application');
MsWord.Visible := True;
except
Exception.Create('Error');
end;
end;
MSWord.Documents.Add;
MSWord.Selection.Font.Size := 22;
MSWord.Selection.Font.Bold := true;
MSWord.Selection.TypeText(#13#10);
MSWord.Selection.TypeText('I want this to be center-aligned');
MSWord.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter;
MSWord.ActiveDocument.SaveAs('C:\doc2.doc');
end;
顺便说一句,自己找到答案的方法是进入Word,开始录制宏,执行操作,停止录制,然后编辑宏以查看Word生成的代码。如果使用后期绑定(通过OleVariant从Delphi访问Word),则将其转换为Delphi通常相当简单,但如果使用早期绑定,则可能会有点冗长,因为早期绑定需要指定所有参数,而后期绑定允许您省略大部分参数。这对我来说很有用:
procedure TForm1.Button1Click(Sender: TObject);
var
MSWord : OleVariant;
begin
try
MsWord := GetActiveOleObject('Word.Application');
except
try
MsWord := CreateOleObject('Word.Application');
MsWord.Visible := True;
except
Exception.Create('Error');
end;
end;
MSWord.Documents.Add;
MSWord.Selection.Font.Size := 22;
MSWord.Selection.Font.Bold := true;
MSWord.Selection.TypeText(#13#10);
MSWord.Selection.TypeText('I want this to be center-aligned');
MSWord.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter;
MSWord.ActiveDocument.SaveAs('C:\doc2.doc');
end;
顺便说一句,自己找到答案的方法是进入Word,开始录制宏,执行操作,停止录制,然后编辑宏以查看Word生成的代码。如果使用后期绑定(通过一个OleVariant从Delphi访问Word),那么将其转换为Delphi通常是相当简单的,但是如果使用早期绑定,则可能会有点冗长,因为早期绑定需要指定所有参数,而后期绑定允许您省略大部分参数。谢谢。这很有效,而且你的建议也很好。我以前用Excel做这个,但忘了我也可以用Word来做:)@user1137313:我对这个问题投了更高的票,但如果你喜欢的话,你也应该对这个答案投更高的票(你已经将其标记为已接受,但这也很有帮助)。只是一个建议,我做到了。再次感谢;)谢谢这很有效,而且你的建议也很好。我以前用Excel做这个,但忘了我也可以用Word来做:)@user1137313:我对这个问题投了更高的票,但如果你喜欢的话,你也应该对这个答案投更高的票(你已经将其标记为已接受,但这也很有帮助)。只是一个建议,我做到了。再次感谢;)OT:Exception.Create('Error')的含义是什么?顺便说一句,最好只捕获
EOleSysError
exceptions.OT:Exception.Create('Error')的含义是什么?顺便说一句,最好只捕获EOleSysError
异常。