起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 403|回复: 10

【结贴】操作word问题**

[复制链接]
发表于 2009-4-22 14:25:17 | 显示全部楼层 |阅读模式
我想要实现的功能就是把word文档另存为html文件,在delphi中简单如下:
var
    doc: variant;
    Word:variant;
begin
  word:=CreateOleObject('Word.Application');
  word.Visible:=false;
  doc:=word.Documents.open(filename1);
  doc.saveas(FileName:=filename2,FileFormat:=wdFormatHtml);
  word.quit;
end;

假如我想把这样的功能做成控件,导入使用,该怎么做,我没做过第三方控件,看参考文献也没弄明白该怎么做,delphi不怎么熟……
希望你们给点思路,谢谢
回复

使用道具 举报

发表于 2009-4-22 14:56:31 | 显示全部楼层
这个应该不用第三方控件,在平台中按照这个帖子中的方法试试:
http://bbs.justep.com/forum.php? ... ght=CreateOleObject
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-22 15:19:21 | 显示全部楼层
好像利用平台的这个,没法传入参数,比如wdFormatHtml

像这样简单的处理函数,怎么样做成第三方控件呢??一点思路都没有,请指导一下,谢谢
回复 支持 反对

使用道具 举报

发表于 2009-4-22 15:38:13 | 显示全部楼层
做成第三方控件的话,就是自己用delphi封住好,然后参照平台的那个导入第三方控件的文档进行导入,具体可以在论坛里搜索一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-22 16:01:27 | 显示全部楼层
哦,,搜不到有用的帖子

问个相关的,呵呵
现在的需求是,服务器端存储项目资料,项目资料部分是已word文档存在,比较大,也包含图片。
客户端在浏览资料时,也会查看这些word资料。
现在的想法是把所有的word文档转成html页面,利用webbrowser嵌入来浏览相关的资料。

假如不转换,直接以word文档的形式存储在服务器,能实现在客户端的浏览吗?并且是有可能几十个用户并发一起浏览这个资料
谢谢,这个问题,现在很郁闷
回复 支持 反对

使用道具 举报

发表于 2009-4-22 16:05:12 | 显示全部楼层
我觉得可以用平台的文档服务器来实现吧。
如果不用改平台的文档服务器,你可以自己配一个ftp服务,然后通过ftp的方式把文件下载到本地,然后再打开看。

无论如何,都是要先下载到本地然后再打开看,这样的方式。跟多少个人并发应该没什么关系的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-22 16:27:20 | 显示全部楼层
哦,这样啊,那还是转换文件吧,他们原来有个老版本,用vb写得后台管理程序,也是转换成html网页形式。。

怎么样做第三方控件啊,关键是我现在第一步就不知道怎么做!!!

代码也就1楼所写的那些,,详细指点一下吧,多谢了!!
回复 支持 反对

使用道具 举报

发表于 2009-4-23 17:07:55 | 显示全部楼层
http://bbs.justep.com/forum.php? ... el&pagenumber=1
看看这里面提供的这个WordApp控件能不能满足你需求,office2003
回复 支持 反对

使用道具 举报

发表于 2009-4-24 11:31:29 | 显示全部楼层
还有更简单的办法就是用WebBrowser指向你要另存为的文档,然后调用如下方法另存为文件即可.
WebBrowser.ExecWB(1,1) //打开
WebBrowser.ExecWB(2,1) //关闭所有
WebBrowser.ExecWB(4,1) //另存为
WebBrowser.ExecWB(6,1) //打印
WebBrowser.ExecWB(6,6) //直接打印
WebBrowser.ExecWB(7,1) //打印预览
WebBrowser.ExecWB(8,1) //页面设置
WebBrowser.ExecWB(10,1) //属性
WebBrowser.ExecWB(17,1) //全选
WebBrowser.ExecWB(22,1) //刷新
WebBrowser.ExecWB(45,1) //关闭

----------------------------------------------------
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  WebBrowser1.ExecWB(4,1); //save as
//自己加一些其他代码设置后缀名
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  openDialog:TOpenDialog;
begin
  try
    openDialog:=TOpenDialog.Create(nil);
    if openDialog.Execute then
    begin
      WebBrowser1.Navigate(openDialog.FileName);
    end;
  finally
    openDialog.Free;
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2009-4-28 11:45:52 | 显示全部楼层
提供一个Word 的操作控件,适用于3088版本。里面包含了相关操作函数。

v3088.rar

28.8 KB, 下载次数: 107

回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-22 02:36 , Processed in 0.038999 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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