起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 380|回复: 4

word操作

[复制链接]
发表于 2010-2-2 14:00:42 | 显示全部楼层 |阅读模式
我想设置插入word文档中文字的格式,改如何操作?
代码如下:

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', []);

    FApp.PropertyPut('Visible', [True]);
    Fword := nil;
  except
    jsDialogs.ShowMsg('异常', '提示');
  end;
回复

使用道具 举报

 楼主| 发表于 2010-2-2 15:48:58 | 显示全部楼层
有什么好办法吗?
回复 支持 反对

使用道具 举报

发表于 2010-2-2 16:05:48 | 显示全部楼层
在bbs上有些类似的帖子
例如
http://bbs.justep.com/forum.php?mod=viewthread&tid=30179
你用“DispatchHelper”这搜索一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-2 16:38:07 | 显示全部楼层
插入文字

lSelection.InvokeMethod('TypeText', ['插入的文字']);

我如何设置它的格式?
回复 支持 反对

使用道具 举报

发表于 2010-2-3 15:56:25 | 显示全部楼层
楼主用的很深入啊,看下面的代码,就是在楼主的例子基础上改的,看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控制就行了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-12 02:07 , Processed in 0.039997 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表