public static void uniteDoc(List fileList, String savepaths) 
    {  
     if (fileList.size() == 0 || fileList == null) 
     {  
     return;  
     }  
    
     //打开word  
     ActiveXComponent app = new ActiveXComponent("Word.Application");//启动word  
     try 
     {  
     // 设置word不可见  
     app.setProperty("Visible", new Variant(false));  
     //获得documents对象  
     Object docs = app.getProperty("Documents").toDispatch(); 
    
     //打开第一个文件  
     Object doc = Dispatch.invoke(  
     (Dispatch) docs,  
     "Open",  
     Dispatch.Method,  
     new Object[] { (String) fileList.get(fileList.size()-1),  new Variant(false), new Variant(true) },  
     new int[3] ).toDispatch();  
     //追加文件  
     for (int i = 0; i < fileList.size()-1; i++) 
     {  
     Dispatch.invoke(app.getProperty("Selection").toDispatch(),  
     "insertFile", Dispatch.Method, new Object[] {  
                          (String) fileList.get(i), "",  
                           new Variant(false), new Variant(false),  
                           new Variant(false) }, 
                         new int[3] );  
//     Dispatch.call(Dispatch.call(objWord, "WordBasic").getDispatch(), "FileSaveAs", new Variant("c://1.doc"));     }  
    
     //保存新的word文件  
     Dispatch.invoke((Dispatch) doc, "SaveAs", Dispatch.Method,  
     new Object[] { savepaths, new Variant(1) }, new int[3]);  
     Variant f = new Variant(false);  
     Dispatch.call((Dispatch) doc, "Close", f);  
     } 
     catch (Exception e) 
     {  
     throw new RuntimeException("合并word文件出错.原因:" + e);  
     } 
     finally 
     {  
     app.invoke("Quit", new Variant[] {});  
     }  
    }  这是那小程序中用到jacob代码

解决方案 »

  1.   

    使用jacob开发环境要搭建好据楼主情况可能的原因有:第一:使用jacob貌似要2个dll文件也就是jacob-1.15-M4-x86.dll和jacob.dll放在system32目录下第二:dll文件也要放在jdk中的bin目录下
      

  2.   

    谢谢3楼,只用jacob-1.17-M4-x86.dll这个dll就好了吧,win7上就只有这个
      

  3.   

    我现在在xp下可以调用,但在win7下我就调用不了,用的是:jacob-1.17-M2-x86.dll,
    请问你是用jacob-1.17-M4-x86.dll?我M4的吗??
      

  4.   

    可以的话,可以给下我你win7环境下调用的jacob-1.17-M4-x86.dll??谢谢,
      

  5.   

    我本地的机是xp ,tomcat 6.0  Jacob 1.16-M2   ,jdk 6.0_29 ,本地可以,编译好项目直接考到 两台win server 2003 上  一台可以,另一台不行 。