我想实现在的delphi中对word文档的编辑,主要功能包括新建,打开,编辑,修改,保存word到指定路径的问题,我准备用server控件板重的wordapplication和worddocument控件实现,做了一个初步的例子
wordapplication,connect;
wordaplication.visible:=true;
worddocument.connect;
worddocument.showsummary;
可以实现word文档的打开编辑功能,但是保存路径必须认为控制,向各位高手求教如何将编辑完的word文档保存在固定的路径下.谢谢!

解决方案 »

  1.   

    不用人为也可以,对worddocument有save对象,我记不清了,好像是四个参数,其中有一个olevar参数是位置参数,也就是文件位置+文件名,你可以先把路径赋给一个字符串,再把串赋给这个参数,再调用就行了.
    由于条件不具备,我还给不了你代码,你试试先.
      

  2.   

    wordapplication1.activedocument.saveas(8个参数);
    第一个就是我刚才说的olevariant参数
    你用刚才说的方法就行了,其它全部为空,如果有兴趣可以多研究.
      

  3.   

    to xuxiaozhao_3411(小小):
      谢谢,我回头试一下,不过我的工作是打开一个word文档,然后进行编辑,编辑后保存在规定目录下,然后再将word文档转成pdf文档在进行保存一次,两次的保存路径都能设定默认路径吗;对word文档的操作还有没有别的办法啊,不用server控件行吗?最好有代码,谢了!
      

  4.   

    方法很多的,你用wordapplication1.Documents.Open()可以打开文档,这样word的界面就交给你了,想干什么都行,呵呵。
        编辑完后点击关闭会触发WordApplication1DocumentBeforeClose你可以在这里把文件进行指定位置的保存,也可以先存成word文件,再存成pdf文件,都是调用我说的wordapplication1.ActiveDocument.SaveAs来实现.好像你说的功能都实现了吧。我只用wordapplication控件,因为其它的如document之类的控件功能都在它当中包含了。关于代码等我上了班再贴一段给你,关于文章我也没有特别好的,都是自己试出来的土办法,见笑了,呵呵。
      

  5.   

    关于变量声明TempDoc,NewTempDoc,TempWord,TempEmpty:OleVariant;
    关于打开TempEmpty := EmptyParam;
         TempDoc := EmptyParam;
         NewTempDoc := True;
         try
           Wordapplication1.Connect;
         except
           MessageDlg('无法打开Word,请确认已安装Word。', mtError, [mbOk], 0);
           Abort;
         end;
         //打开指定WORD文档
         TempWord := Edit1.Text ;
         //WordApplication1.Visible := True;
         WordApplication1.Documents.Open(TempWord,TempEmpty,TempEmpty,
                             TempEmpty,TempEmpty,TempEmpty,TempEmpty,
                             TempEmpty,TempEmpty,TempEmpty);关于保存       try
             wordapplication1.ChangeFileOpenDirectory('C:\My Documents');
             Temp1 := 'b.rtf';
             Temp2 := wdFormatDocument;
             Temp3 := '';
             Temp4 := True;
             TempW := False;
             WordApplication1.ActiveDocument.SaveAs(Temp1,Temp2,TempW,
                         Temp3,Temp4,Temp3,TempW,TempW,TempW,TempW,TempW);
             wordApplication1.Quit;
             WordApplication1.Disconnect;
             showmessage('保存成功');      except
             on E: Exception do
             begin
             Showmessage(E.Message);
             WordApplication1.Disconnect;
             end;
           end;大家见笑,交流研究
      

  6.   

    我绝对最简单的办法就是用OLEContainer,在System面板里面.
      

  7.   

    to xuxiaozhao_3411(小小):
      请问你有没有qq或者msn啊,以后有机会可以向你多请教啊,谢谢了,我还是采取了用
    wordapplication和worddocument控件调出word直接进行操作,然后人工选择文件保存路径了,毕竟简单一点嘛,到最后如果领导说不行的话再改吧。