起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 441|回复: 14

【结贴】[问题]如何将word 转换为 txt文件**

[复制链接]
发表于 2008-7-30 15:10:59 | 显示全部楼层 |阅读模式
如题。
回复

使用道具 举报

发表于 2008-7-30 15:25:29 | 显示全部楼层
另存成txt文件
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-30 15:31:00 | 显示全部楼层
能给些代码参照下?
回复 支持 反对

使用道具 举报

发表于 2008-7-30 15:34:26 | 显示全部楼层
ChangeFileOpenDirectory "C:\Documents and Settings\*****\桌面\"
    ActiveDocument.SaveAs FileName:="****.txt", FileFormat:=wdFormatText, _
        LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
        :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
        SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
        False, Encoding:=936, InsertLineBreaks:=False, AllowSubstitutions:=False, _
         LineEnding:=wdCRLF
这个是我录制的宏
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-30 17:39:29 | 显示全部楼层
测试代码,在saveas的时候报错!

procedure TMainForm.Button1Click(Sender: TObject);
var
//Test:Variant;
o:   Object;
app, docs, doc: DispatchHelper;
begin

     o   :=   ComObj.CreateOleObject('Word.Application');
     app := DispatchHelper.Create(o);
     app.PropertyPut('Visible', [False]);

     docs := DispatchHelper.create(app.PropertyGet('Documents',[]));
     docs.InvokeMethod('Open',['C:\RzportTempory\F54A8C6329614820BD33A292882ED216.doc']);
     doc :=  DispatchHelper.create(app.PropertyGet('ActiveDocument',[]));
     doc.InvokeMethod('SaveAs',['C:\RzportTempory\1.txt',2,False,'',True,'',False,False,False,False,False,936,False,False,'\n']);

     (o as System.IDisposable).Dispose;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-30 17:41:29 | 显示全部楼层
如果用 doc.InvokeMethod('SaveAs',['C:\RzportTempory\1.txt']); 运行是可以的。但因为没设置格式,所以保存的txt是乱码
回复 支持 反对

使用道具 举报

发表于 2008-7-30 17:59:00 | 显示全部楼层
平台好像没有办法直接执行saveas,可以用用其他开发工具写一些函数,用平台调用(导入第三方组件方式)。
这个是delphi的
procedure TForm1.Button1Click(Sender: TObject);
var
  FWord :Variant;
begin
  if OpenDialog1.Execute then
  begin
    FWord := CreateOleObject('Word.Application');
    FWord.Visible:=true;
    FWord.Documents.Open( OpenDialog1.FileName);
     FWord.ActiveDocument.SaveAs('c:\x3.txt', 2);
    fword.quit;
    end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-30 18:02:43 | 显示全部楼层
saveas,只有一个参数的时候也行。 只是加全了就报错了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-30 18:03:19 | 显示全部楼层
会不会参数写的有问题?
回复 支持 反对

使用道具 举报

发表于 2008-7-30 20:39:10 | 显示全部楼层
请楼主按7楼的方法来实现吧。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-20 07:44 , Processed in 0.036064 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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