楼主用的很深入啊,看下面的代码,就是在楼主的例子基础上改的,看lFont变量相关的部分,用如下代码我可以在office2007下修改第一行插入的几个字的字体:
var
FWord: Object;
FApp, FDocs, lSelection, lFont: system.DispatchHelper;
begin
try
Fword := ComObj.CreateOleObject('Word.Application');
FApp := DispatchHelper.Create(Fword);
FApp.PropertyPut('Caption', ['²âÊÔÎĵµ']);
FDocs := DispatchHelper.Create(FApp.PropertyGet('Documents', []));
//¼ÓÔØÒ»¸ö¿ÕµÄÎĵµ
FDocs.InvokeMethod('ADD', []);
lSelection := DispatchHelper.Create(FApp.PropertyGet('Selection', []));
//Ôö¼ÓÒ»ÐÐ
lSelection.InvokeMethod('TypeText', ['²åÈëµÄÎÄ×Ö£­£­¸ñʽһ']);
//Ôö¼Ó»»ÐÐ
lSelection.InvokeMethod('TypeParagraph', []);
//Ôö¼ÓÒ»ÐÐ
lSelection.InvokeMethod('TypeText', ['²åÈëµÄÎÄ×Ö£­£­¸ñʽ¶þ']);
//Ôö¼Ó»»ÐÐ
lSelection.InvokeMethod('TypeParagraph', []);
lSelection.InvokeMethod('SetRange', [1, 10]);
lFont := DispatchHelper.Create(lSelection.PropertyGet('Font', []));
lFont.PropertyPut('Bold', [1]);
FApp.PropertyPut('Visible', [True]);
Fword := nil;
except
jsDialogs.ShowMsg('Òì³£', 'Ìáʾ');
end;
end;
如建议钻研一下Office的官方文档,了解了它的类的体系结构之后用DispatchHelper控制就行了! |