Word.ApplicationClass   word   =   new   Word.ApplicationClass();   
  Type   wordType   =   word.GetType();   
  Word.Documents   docs   =   word.Documents;   
  Type   docsType   =   docs.GetType();   
  object   fileName   =   wordfilename_save;   
  object   saveFileName   =   htmlfilename_save;   
    
  Word.Document   doc   =   //打开Word文档用Open   
  (Word.Document)docsType.InvokeMember("Open",   System.Reflection.BindingFlags.InvokeMethod,   null,   docs,new   Object[]   {fileName,   true,   true});   
  Type   docType   =   doc.GetType();   
    
  //另存为Html文档,用SaveAs,Word.WdSaveFormat.wdFormatHTML   
  docType.InvokeMember("SaveAs",System.Reflection.BindingFlags.InvokeMethod,   null,doc,new   object[]{saveFileName,   Word.WdSaveFormat.wdFormatHTML});   
    
  //直接关闭Word,如何先关闭Html文档呢?用什么参数?   
  wordType.InvokeMember("Quit",   System.Reflection.BindingFlags.InvokeMethod,   null,word,null);   
  //下面一句报错,说htmlfilename_save被其他进程打开   
  StreamReader   sr   =   new   StreamReader(htmlfilename_save,Encoding.GetEncoding("gb2312"));

解决方案 »

  1.   

    把你的打开关闭的功能写成一个函数,主程序调用这个函数,然后再加上GC.Collect();        Main()
            {
            
                ...
                OpenClose();
                GC.Collect();
                StreamReader sr = new StreamReader(htmlfilename_save,Encoding.GetEncoding("gb2312"));
            }        OpenClose()
            {
            ...
            }