比如下面是一段word文档
---------
csdn论坛    ->第一行
delphi版面  ->第二行
word文档    ->第三行
---------要获取'版面'这个汉字所在的行,并获取这一行的所有文字.我用的是ole,没有使用servers中的控件.
3q

解决方案 »

  1.   

    uses ComObj;{读一行判断一行,如果文档有很多行,可能速度慢;如果慢就应当一次读多行}
    var
      V: Variant;
      S: string;
    begin
      V := CreateOleObject('Word.Basic');
      V.AppHide;//隐藏界面
      V.FileOpen('D:\a.doc');
      V.StartOfDocument;//光标移到文档开头
      repeat
        S := V.GetBook('\Line');//取当前行内容
        if Pos('版面', S) > 0 then
        begin
          ShowMessage(S);
          Break
        end;
        if not V.LineDown{光标移动到下一行} then Break;
      until False;
      V.FileClose(2);//2表示不保存
      V.AppClose;//退出word
      V := Unassigned;
    end;