当前位置:编程学习 > JAVA >>

求教Jacob调用PPT宏的代码

项目经理要求用程序操作PPT,关键是要能更换PPT上的EXCEL。。。。所以找了很久最后想到了JACOB调用PPT自己宏的实现方法。
但是。没有找到具体调用PPT宏的代码。。求高人指教。(用调用WORD宏的方法,对WORD可以,但是对PPT无效) --------------------编程问答-------------------- 自己顶一下。。 --------------------编程问答-------------------- 。。无奈的再顶一下。。 --------------------编程问答-------------------- 。。无奈的再再顶一下。。 --------------------编程问答-------------------- --------------------编程问答-------------------- package com.hzmt.res.test;

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

public class WordMacroCtrl {

public void callWordMacro(String filePath, String macroName) {
ActiveXComponent wrdCom = new ActiveXComponent("PowerPoint.Application");
// 创建 JACOB 的 ActiveXComponent对象
wrdCom.setProperty("Visible", new Variant(true));
// 设置 JACOB 对象中的属性
Dispatch oDocuments = wrdCom.getProperty("Presentations").toDispatch();
// 通过 JACOB 对象,调用自动化接口,获得 COM 组件的函数指针
Dispatch oDocument = Dispatch.call(oDocuments, "Open", filePath).toDispatch();
// 打开指定路径下的 WORD文件
//Dispatch.call(wrdCom, "Run", new Variant("Normal.NewMacros." + macroName));
Dispatch.call(wrdCom, "Run", new Variant("pptTem.ppt!模块2.auto_open"));

//Dispatch.call(wrdCom, macroName);

// 调用存储在Noraml.dot 中的宏代码,并在打开的 WORD文件中应用
// http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛 5
ComThread.Release();
}

public static void main(String[] argv) {
WordMacroCtrl Ma = new WordMacroCtrl();
Ma.callWordMacro("D:\\pptTem.ppt", "auto_open");
// 调用自定义方法,传入应用宏的 WORD文件路径(已经存在的文件),以及宏名称
}
}
这个可以调用
Dispatch.call(wrdCom, "Run", new Variant("pptTem.ppt!模块2.auto_open"));
中"pptTem.ppt!模块2.auto_open":文件名!模块名.红名

补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,