用TWordApplication,TWordDocument来读出Word中的内容,当wa1.Visible :=False;  在工程中不显示当前打开的文档,但关闭了以前打开的WORD文档,现在的问题是怎么可以不关闭以前打的word,不显示本次打开的WORD 
附: if not Assigned(wa1) then
    begin
      wa1:= TWordApplication.Create(nil);
      wa1.Connect ;
      wa1.Visible := false;
    end;
    if not Assigned(wd1) then
      wd1:= TWordDocument.Create(nil);
  filename:=MyTxtPath; 
  wa1.Caption:='試試我的word';    //標題
  //打开Word文档
  wd1.ConnectTo(wa1.Documents.Open(filename,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam));
  s:=wd1.range.Text ;   //取得word文檔內容

解决方案 »

  1.   

    wa1.Visible := false;
    應該就可以啦, 建議貼上完整代碼.轉:
    下面三个button分别对应打开word,改内容,存盘退出procedure TForm1.Button1Click(Sender: TObject);
    var
      Filename:OleVariant;
    begin
      WordApplication1.Connect;
      WordApplication1.Visible:=True;
      Filename:='c:\1.doc';
      WordApplication1.Documents.Open(Filename,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
      WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      with WordDocument1 do begin
        Activate;
        While not ADOTable1.Eof do  // 将adotable1 里的field1和field2的内容写入worddocument
          Range.InsertAfter(ADOTable1['Field1']+';'+ADOTable1['Field2']+'.');
      end;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      WordDocument1.SaveAs;
      WordDocument1.Close;
      WordDocument1.Disconnect;
      WordApplication1.Disconnect;
      WordApplication1.Quit;
    end;
      

  2.   

    程序源码:当运行到WordApp.Visible := false;时,就会关闭所有打开的Word文档,高手给看看
    procedure TForm1.Button1Click(Sender: TObject);
    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;
        s:String;
    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:\518.Doc';
        oReadOnly:=true;
        CfCversions := EmptyParam;
        AddToRctFiles:= EmptyParam;
        PswDocument:= EmptyParam;
        PswTemplate:= EmptyParam;
        oRevert:= EmptyParam;
        WPswDocument:= EmptyParam;
        WPswTemplate:= EmptyParam;
            // ===== 打开文件 =====                         
        WordApp.Documents.open(oFileName,EmptyParam,oReadOnly,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
        // ===== 关联文件 =====
        WordDoc.ConnectTo(WordApp.Documents.Item(DocInx));
        //方法(1): 取整个文本的字符内容,包含表格
        s := WordDoc.Range.text;
         memo1.Lines.Add(s);
        //方法(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;
      

  3.   

    老兄, 我幫你試了,要用WordApp.Documents.open中的visible參數    WordApp.Documents.open(oFileName,
          EmptyParam,
          oReadOnly,
          EmptyParam,
          EmptyParam,
          EmptyParam,
          EmptyParam,
          EmptyParam,
          EmptyParam,
          EmptyParam,
          EmptyParam,
          oVisible, EmptyParam, EmptyParam, EmptyParam);
      

  4.   

    還是建議用CreateOleObject('Word.Application')方式吧.
      

  5.   

    TO: konhon(优华) 老大,能不能把你的测试代码发一下,饿试了一下还不行
      

  6.   

    WordApp.Quit;也會使其它的關閉的.
    所以你在調用Quit之前還要判斷是否有其它Word窗口打開, 如果有只調用WordApp.Disconnect;就可以啦.
      

  7.   

    试了很多,但到wa1.Visible :=False; 时就会关闭所有打开的Word文档,konhon(优华) 老兄说的visible參數具体是什么东西??还有,用CreateOleObject('Word.Application')方式怎么才能得到WORD中的内容。
    [email protected] 哪位老兄给发给饿。谢谢了