ReleaseManager rm = new ReleaseManager();
try {
IDispatch excelApp = new IDispatch(rm, "Excel.Application");
excelApp.put("visible", true);
IDispatch Workbooks = (IDispatch) excelApp.get("Workbooks");
IDispatch Workbook = (IDispatch) Workbooks.method("add",
new Object[] { -4167 });
IDispatch Sheet = (IDispatch) Workbook.get("ActiveSheet");
IDispatch OLEObjects = (IDispatch) Sheet.get("OLEObjects");

IDispatch OLEObject = (IDispatch) OLEObjects.method("add",
new Object[] { null, "c:\\c.txt", false, true, null, null,
"测试数据.txt", 50, 50, 100, 100 });
} catch (JComException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
IDispatch excelApp = new IDispatch(rm, "Excel.Application");  这句是自己直接打开一个Excel.exe的进程。我现在不要他自己打开一个进程,我要他打开我指定的一个excel ,请问该怎么搞呀。谢谢了。在线等。

解决方案 »

  1.   

        Dim xlsWorkBook As Object
        
        Set xlsWorkBook = GetObject("d:\book1.xls")
        xlsWorkBook.Application.Visible = True
        xlsWorkBook.Windows(1).Visible = True
      

  2.   

    Dim xlsWorkBook As New Object
    xlsWorkBook.Visible = True
      

  3.   

    excel = (IDispatch) excelApp.get("Workbooks");// 得到工作薄
    excelApp.put("Visible", new java.lang.Boolean(false)); // 设置当前对象是否可见
    File f = new File("D:\\testExcel.xls" );
    if (f.exists()) {}//判断文件是否存在
    workbook = (IDispatch) excel.method("open",new Object[]{"D:\\testExcel.xls" }); // 打开工作薄
      

  4.   


    不行呀,还是报错。IDispatch excelApp = null ;
    IDispatch excel = (IDispatch) excelApp.get("Workbooks");// 得到工作薄
    excelApp.put("Visible", new java.lang.Boolean(false)); // 设置当前对象是否可见
    File f = new File("C:\\out.xls" );
    if (f.exists()) {}//判断文件是否存在
    IDispatch workbook = (IDispatch) excel.method("open",new Object[]{"C:\\out.xls" }); // 打开工作薄
    IDispatch Sheet = (IDispatch) workbook.get("ActiveSheet");
    IDispatch OLEObjects = (IDispatch) Sheet.get("OLEObjects");
    IDispatch OLEObject = (IDispatch) OLEObjects.method("add",
    new Object[] { null, "C:\\aa.txt", false, false, null,
    null, null, 100, 100, 500, 500 });第一句就报错了。说Open方法错了。在线等。谢谢。
      

  5.   

    意思是空指针访问,excelApp在第一行的时候只能置空。不知道什么意思。对vba不了解,求高手解决。谢谢。
      

  6.   

    在java里怎么调用去JAVA版问问
      

  7.   


    可是错误出在了这句。  
    IDispatch    excel = (IDispatch) excelApp.get("Workbooks");// 得到工作薄高手给解决呗,困扰了都。关键对Vba不是很了解。谢谢。