给你帖一个例子如何打开word文档var
   wordobj,word, document: olevariant;
begin   try
      wordobj := createoleobject('word.document');
      word := wordobj.application;
      word.visible := visible ;
      document:= word.documents.open(filename:=wordfilename,ReadOnly:=True) ;
   except
      messagebox(getactivewindow,'无法调用Mircorsoft Word! '+chr(13)+chr(10)+
                    '请检查是否安装了Mircorsoft Word。','提示',mb_ok+mb_iconinformation);
   end;

解决方案 »

  1.   

    谁做的word文档?是要生成word文档?谁传出传给谁?activeform和wordapp是谁和水2?
      

  2.   

    是这样的:
     我在OleContainer嵌入了Word,然后我对其中嵌入的Word进行操作控制(如:根据用户来判断并设置其是否只读,是否修改时要保留笔迹等)
     我做的OCX是在ASP.net中调用(因为只能是客户端调用,所以和ASP应该是一样的调用),在ASP中.net调用的时候,我需要传入一个一个参数来表示打开哪个文档(来自一个Text字段),然后保存的时候我要传出Word中的当前激活文档
      其实我的“文档”都是保存在SQL server 的Text字段中的,所以传入时是从数据表中来的,而保存时(不是在Word上做保存,而是在调用程序上做保存)则传出Word中的值。  (因为考虑到此控件可能在很多地方调用,所以不考虑在控件中对数据库进行读写付值操作,所以要求要传入和传出)  怎么设置这两个传入/出参数呢?用什么类型?Variant?
      

  3.   

    我现在还不会用variant传,但是我用OleContainer的好像是saveasdoc方法写文件就不是.ole了,这样再把文件stream化,ok?