如何把一个Word文件中的内容拷贝到Memo中去?(100分)

  • 主题发起人 主题发起人 lshwang
  • 开始时间 开始时间
L

lshwang

Unregistered / Unconfirmed
GUEST, unregistred user!
如何把一个Word文件中的内容拷贝到Memo中去?
 
MyMemo1.Lines.LoadFromFile('.....');
 
To 卷起千堆雪tyn:
我试过,好象不行。显示一堆乱码。
 
用RICHEDIT
 
RichEdit好象也不行!
 
用WORD打开,另存为TXT,或拷贝粘贴,OLE和DDE通信控制也可以 :-)
 
To Huzzz:可否介绍得详细一些呢?
 
用IP3000中的twwdbricheditword
 
我是开玩笑的,OLE和DDE本质也是用WORD打开(也就是说,必须要装有WORD),然后程序发送
指令给WORD(或调用它提代供的服务接口)。详细的信息,要找找资料。
 
sunys 已答。
 
你可以用VBA提供的COM功能,也就是三楼的兄弟那样的

呵呵,Office提供的Com接口,在Delphi中的ComObj.pas单元中。
 
uses comobj

procedure Tform1.button1click(Sender: TObject);
var
; ;NewDoc:variant;
; ;V: OleVariant;
; ;FileNameTemp:String;
begin
; ; if fileexists('c:/a.doc) then
; ;begin
; ; try
; ; ;FileNameTemp :='c:/a.doc' ;
; ; ;V := CreateOleObject('Word.Application');
; ; ;NewDoc :=V.Documents.Open(FileNameTemp);
; ; ;NewDoc.SaveAs(FileName :='C:/TEMP.rtf',FileFormat:=3);
; ; ;NewDoc.Close;
; ; ;V.Quit;
; ; ;Memo1.Lines.Clear;
; ; ;Memo1.Lines.LoadFromFile('C:/TEMP.rtf');
; ; deletefile('C:/TEMP.rtf');
; ; except
; ; showmessage('c:/a.doc 可能已打开');
; ; end;
; ;end;
end;
 
sunys的回答不错,不过其本质也是用Word打开。如果没有安装OFFICE则照样打不开。
 
还是利用 DELPHI 的 SERVERS 页的控件来解决吧。
 
例如,WPS2000在没有WORD的时候,不一样可以读入WORD文件,并且存为TXT。
MEMO应该只能处理纯文本。
所以,关键是读入WORD文件并转存为TXT文件,或文件流,应该能做到。
 
多人接受答案了。
 
后退
顶部