求教Jacob调用PPT宏的代码 项目经理要求用程序操作PPT,关键是要能更换PPT上的EXCEL。所以找了很久最后想到了JACOB调用PPT自己宏的实现方法。但是。没有找到具体调用PPT宏的代码。。求高人指教。(用调用WORD宏的方法,对WORD可以,但是对PPT无效) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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":文件名!模块名.红名 树结构死锁为题 JTextArea 怎样设置英文字符、空格符和数字的宽度是一样的 非常经典的那本关于设计模式的书叫什么名?封面啥样啊? 急,找不到文件怎办? 求.pdf阅读器的算法? 伤自尊了,java类名定义中还可以带小数点的?这是哪个版本加进来的新特性么? 文件合并问题,解决立即给分,在线等 请求帮助!! JBuilderIDE中怎么才能支持鼠标的滚动轴啊?这都不支持好别扭~ java socket多线程问题 sim相似性检查 关于可以在线编程和测试java&python的网站
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":文件名!模块名.红名