`
foreach4
  • 浏览: 8676 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Jacob基本使用方法

 
阅读更多
package comtest;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

public class ComTest {
	
	public static void main(String[] args) {
		ActiveXComponent axc = new ActiveXComponent("Excel.Application");
		System.out.println(axc.getProperty("Version"));
		Dispatch wb = axc.getProperty("WorkBooks").toDispatch();
		String fn = "F:\\vba\\vars.xls";
		Dispatch w = Dispatch.invoke(wb, "Open", Dispatch.Method, new Object[]{fn, new Variant(true),
				new Variant(false)}, new int[1]).toDispatch();
		
//		Dispatch vbe = axc.getProperty("VBE").toDispatch();
//		Dispatch cbs = Dispatch.call(vbe, "CommandBars").toDispatch();
//		int count = Dispatch.call(cbs, "Count").getInt();
//		System.out.println("vbe count:"+count);
//		Dispatch cb = Dispatch.call(cbs, "Item", new Integer(1)).toDispatch();
//		Dispatch cts = Dispatch.call(cb, "Controls").toDispatch();
//		int menucount = Dispatch.call(cts, "Count").getInt();
//		System.out.println("menucount:"+menucount);
//		Dispatch ct = Dispatch.call(cts, "Item", new Integer(8)).toDispatch();
//		Dispatch xcts = Dispatch.call(ct, "Controls").toDispatch();
//		Dispatch xct = Dispatch.call(xcts, "Item", new Integer(5)).toDispatch();
//		Dispatch.call(xct, "Execute");
//		
//		axc.invoke("SendKeys", new Variant(""), new Variant(false));
		
		Dispatch.call(w, "Close", new Variant(false));
		
		
	}

}




触发事件的
ActiveXComponent axc = new ActiveXComponent("Excel.Application");
		System.out.println(axc.getProperty("Version"));
		Dispatch wb = axc.getProperty("WorkBooks").toDispatch();
		String fn = "F:\\vba\\jiami.xls";
		Dispatch w = Dispatch.invoke(wb, "Open", Dispatch.Method, new Object[]{fn, new Variant(true),
				new Variant(false)}, new int[1]).toDispatch();
		
		Dispatch vbe = axc.getProperty("VBE").toDispatch();
		
		Dispatch cbs = Dispatch.call(vbe, "CommandBars").toDispatch();
//		int count = Dispatch.call(cbs, "Count").getInt();
//		System.out.println("vbe count:"+count);
		Dispatch cb = Dispatch.call(cbs, "Item", new Integer(1)).toDispatch();
		Dispatch cts = Dispatch.call(cb, "Controls").toDispatch();
		int menucount = Dispatch.call(cts, "Count").getInt();
		System.out.println("菜单个数:"+menucount);
		Dispatch ct = Dispatch.call(cts, "Item", new Integer(8)).toDispatch();
//		String menuName = Dispatch.call(ct, "Name").getString();
//		System.out.println("菜单名字:"+menuName);
		Dispatch cm = Dispatch.call(ct, "Controls").toDispatch();
		int gccount = Dispatch.call(cm, "Count").getInt();
		System.out.println("选项个数:"+gccount);
		Dispatch opt = Dispatch.call(cm, "Item", new Integer(5)).toDispatch();
//		String optName = Dispatch.call(opt, "Caption").getString();  //TooltipText
//		System.out.println("选项名字:"+optName);
		Dispatch.call(opt, "Execute");
		Dispatch.call(axc, "SendKeys", "123456", new Variant(true)
分享到:
评论

相关推荐

    jacob api文档及使用方法

    **Jacob API文档及使用方法** Jacob(Java COM Bridge)是一个开源Java库,它允许Java程序与COM组件进行交互。在Windows环境下,COM组件是广泛使用的,例如与Office应用程序(如Excel、Word)进行自动化操作。Jacob...

    jacob的使用方法总结

    通过以上步骤,你已经掌握了使用Jacob在Java中操作Word的基本方法。不过,值得注意的是,Jacob的性能可能不如专门的文档处理库(如Apache POI),而且与特定的操作系统和Office版本有关。因此,在选择技术栈时,应...

    jacob使用手册

    **使用Jacob的基本步骤** 1. 初始化Jacob:在使用Jacob之前,需要启动COM线程。这是通过调用`ComThread.InitMultiThreading()`完成的。 2. 创建ActiveXComponent对象:这是与COM组件交互的基础。例如,如果要操作...

    Jacob操作word 文档的方法集!(含创建目录),使用的Jacob版本是1.5

    以上就是使用Jacob 1.5操作Word文档,特别是创建目录的基本步骤。在实际开发中,你可能需要根据具体需求进行更复杂的操作,例如插入图片、表格、调整格式等。Jacob提供的API非常丰富,可以满足大多数与Word交互的...

    jacob1.9 jacob1.12 jacob1.14

    具体使用方法通常涉及以下步骤: 1. 添加Jacob的jar包到项目:将下载的Jacob版本对应的jar文件添加到项目的类路径中,确保编译和运行时都能找到。 2. 引入Jacob库:在Java代码中通过`import`语句导入Jacob的相关类...

    jacob使用说明终极吐血版

    **Jacob使用说明终极吐血版** ...通过以上的介绍,你应该对Jacob有了基本的了解,但要深入使用,还需要参考官方文档和实际项目中的应用。在实际开发中,一定要注意错误处理和资源管理,以确保程序的稳定性和性能。

    jacob 操作word 文档详解

    在使用 Jacob 库之前,需要了解一些基本概念。Jacob 库使用了 COM 组件来访问 Word 应用程序。COM 组件是一个软件组件模型,允许不同的应用程序之间进行通信和交互。在 Jacob 库中,我们使用 ActiveXComponent 对象...

    关于使用jacob使用介绍

    本文将详细介绍JACOB的基本概念、功能、环境需求以及实际操作步骤。 ### 1. JACOB产品介绍 1.1 **什么是JACOB** JACOB是一个开源项目,始于1999年,它的核心功能是为Java开发者提供一个桥梁,以便他们能够利用COM...

    Java中使用Jacob实现Windows下语音合成并生成音频文件示例代码.rar

    2. **Jacob库的使用**:首先需要将Jacob的jar文件添加到项目的类路径中,然后通过`com.jacob.COMThread.init() `方法初始化Jacob,以便在多线程环境中使用COM组件。 3. **创建并使用COM对象**:在Windows中,语音...

    jacob开发文档jacob

    **使用Jacob的基本步骤** 1. **添加依赖**:将jacob.jar文件添加到项目类路径中,同时需要在系统路径下包含jacob.dll,因为Jacob是基于本地库的。 2. **初始化COM**:使用` JacobAutoProxy.init()`方法初始化Jacob...

    Jacob处理Word文档的方法

    以下是一个基本示例,展示如何使用Jacob读取Word文档中的文本: ```java import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; public class WordReader ...

    jacob1.18源码和jar包

    里面数据类型的转换的方法 Variant类本身是JACOB的最最基本的数据类 他可以被转换成任何的类 如: 使用toDispatch();可以将Variant转化成Dispatch对象 ) com jacob com中还有其他的一些类不是建立在...

    jacob1.18,jacob1.19.zip两个版本

    本文将详细解析"jacob1.18"和"jacob1.19"这两个版本的特性、使用方法以及它们在Windows环境下的应用。 首先,我们来看"jacob1.18"版本。此版本是Jacob的一个较早发行版,它包含了一个名为"jacob.jar"的Java类库,这...

    Jacob1.9.zip

    Jacob是Java和COM之间的一个桥梁库...以上是对"Jacob1.9.zip"压缩包及其内容的详细解析,包括Jacob库的基本概念、使用方法以及可能的应用场景。如果你打算在Java项目中使用COM组件,理解并熟练掌握Jacob是非常有用的。

    jacob1.18源码+jar包

    里面数据类型的转换的方法 Variant类本身是JACOB的最最基本的数据类 他可以被转换成任何的类 如: 使用toDispatch();可以将Variant转化成Dispatch对象 ) com jacob com中还有其他的一些类不是建立在...

    JACOB各版本下载

    3. **编写代码**: 使用JACOB时,首先需要加载COM组件,然后通过Java对象来调用OCX控件的方法。例如,你可以使用`ActiveXComponent`类创建一个OCX实例,然后调用其方法,就像操作Java对象一样。 ```java import ...

    最新版jacob 1.20.jar jacob-1.20-x64.dll jacob-1.20-x86.dll

    使用Jacob进行TTS操作的基本步骤如下: 1. 引入`jacob-1.20.jar`到项目中,并配置本机库路径(如在`java.library.path`中添加DLL文件的位置)。 2. 创建`ActiveXComponent`对象,实例化SAPI的`ISpVoice`接口。 3. ...

    jacob常用方法

    通常,这样的博客文章会详细介绍如何使用Jacob,包括初始化、方法调用、错误处理等。建议读者访问该链接以获取更深入的理解。 **标签:“源码 工具”** “源码”标签表明我们可能讨论的是Jacob库的底层实现,以及...

    Java操作ddl使用jacob

    以下是如何使用Jacob进行此类操作的一个基本步骤: 1. **引入Jacob库**:首先,你需要将`jacob.jar`添加到项目的类路径中。如果是Java项目,这可以通过在`build.gradle`或`pom.xml`文件中添加依赖来实现。同时,...

    jacob-1_jacob-1.1864_jacob-1.18dll_jacob64_源码.zip

    2. **Jacob库的基本使用**: - Jacob的核心类`com.jacob.com.ComThread`负责初始化COM线程,`com.jacob.activeX.ActiveXComponent`则用于创建和操作COM对象。 - 通过`ActiveXComponent`的`invoke`方法,可以调用...

Global site tag (gtag.js) - Google Analytics