//取得Word文件的数据 procedure getWordStr; var WordApp: TWordApplication; WordDoc: TWordDocument; DocInx,oFileName,CfCversions,oReadOnly,AddToRctFiles,PswDocument, PswTemplate,oRevert,WPswDocument,WPswTemplate,oFormat: OleVariant; i,iRow,iCol:integer; myCell:Cell; myRow:Row; begin memo1.Lines.Clear ;
// ===== 创建对象 ===== if not Assigned(WordApp) then begin WordApp:= TWordApplication.Create(nil); WordApp.Visible := false; end; if not Assigned(WordDoc) then WordDoc:= TWordDocument.Create(nil); try DocInx:=1; oFileName := 'd:\test.doc'; oReadOnly:=true; CfCversions := EmptyParam; AddToRctFiles:= EmptyParam; PswDocument:= EmptyParam; PswTemplate:= EmptyParam; oRevert:= EmptyParam; WPswDocument:= EmptyParam; WPswTemplate:= EmptyParam; oFormat:= EmptyParam; // ===== 打开文件 ===== WordApp.Documents.open(oFileName,CfCversions,oReadOnly,AddToRctFiles, PswDocument,PswTemplate,oRevert,WPswDocument,WPswTemplate,oFormat); // ===== 关联文件 ===== WordDoc.ConnectTo(WordApp.Documents.Item(DocInx));
//方法(1): 取整个文本的字符内容,包含表格 s := WordDoc.Range.text;
//方法(2): 取 1 -- 4 位的字符 ,包含表格 myRange:=WordDoc.Range; myRange.Start:=0; myRange.End_ :=4;
finally if Assigned(WordDoc) then // ===== 关闭文件 ===== begin WordDoc.Close; WordDoc.Disconnect; WordDoc.Destroy; WordDoc := nil; end; if Assigned(WordApp) then // ===== 关闭Word ===== begin WordApp.Quit; WordApp.Disconnect; WordApp.Destroy; WordApp := nil; end; end; end; 
|