怎样才能取得doc文档文件中的某一行
我想写个程序,搜索*.doc文件,取得某一行作为标题
存放到数据库中

解决方案 »

  1.   

    见这个代码 是某个网友贴的
    function OpenWordDocument(const AFileName: String;
      AControl: TCustomMemo): Boolean;
    var
      NewDoc: Variant;
      V: OleVariant;
    begin
      try
        try
          V := CreateOleObject('Word.Application');//建立自动化对象
          NewDoc :=V.Documents.Open(AFileName); //打开指定文件
          NewDoc.Content.Copy; //拷贝到剪贴板
          AControl.Lines.Clear;
          AControl.PasteFromClipboard; //粘贴
          NewDoc.Close; //关闭Word文件
        finally
          V.Quit; //释放自动化对象
        end;
        Result := True;
      except
        Result := False;
      end;
    end;
    可以取得word文件的内容,但是它太慢了,不适合搜索大量文件
    有没有快点的方法????(不需要取得word文件的全部内容)只要一部分就可以了
      

  2.   

    copy的一段代码,你参考一下
    var WordApp: TWordApplication;    WordDoc: TWordDocument;
    var DocInx,FileName,CfCversions,oReadOnly,AddToRctFiles,PswDocument,
        PswTemplate,oRevert,WPswDocument,WPswTemplate,oFormat: OleVariant;
    begin
        DocInx:=1;
        oFileName := InFile;
        oReadOnly:=true;  WordApp:= TWordApplication.Create(nil);
      WordApp.Visible := false;
      WordDoc:= TWordDocument.Create(nil);
      WordApp.Documents.open(FileName,CfCversions,oReadOnly,AddToRctFiles,PswDocument,
                               PswTemplate,oRevert,WPswDocument,WPswTemplate,oFormat);
      WordDoc.ConnectTo(WordApp.Documents.Item(DocInx));    For i := 1 To WordDoc.Tables.Count do   //第 i 个表
        begin
          For iRow := 1 To WordDoc.Tables.Item(i).Rows.Count do
            for iCol:=1 to WordDoc.Tables.Item(i).Columns.Count do
              myCell:=WordDoc.Tables.Item(i).Cell(iRow,iCol);    //取第 [iRow,iCol] 列
        end;    if Assigned(WordDoc) then
        begin
          WordDoc.Close;
          WordDoc.Disconnect;
          WordDoc.Destroy;
          WordDoc := nil;
        end;    if Assigned(WordApp) then
        begin
          WordApp.Quit;
          WordApp.Disconnect;
          WordApp.Destroy;
          WordApp := nil;
        end;
      
    end;
      

  3.   

    WordApp.Documents.open(FileName,CfCversions,oReadOnly,AddToRctFiles,PswDocument,  
                                                     PswTemplate,oRevert,WPswDocument,WPswTemplate,oFormat); 参数不够!是不是跟office版本有关?
      

  4.   

    这个似乎是提取word中表格的某行某列
    我希望是提出文字
      

  5.   

    我自己找到办法了
     用paragrahs可以返回某一段
    但还是老问题 速度太慢 
    我搜索5个文件提取标题用了一分钟。
    谁有比较快的方法?