Atitit 计算word ppt文档的页数
http://git.oschina.net/attilax/ati_wordutil
private void ini() {
word = new ActiveXComponent( "Word.Application");
word.setProperty("Visible", new Variant(false)); //不可见打开word
//word.setProperty("AutomationSecurity", new Variant(3)); //禁用宏
powerpoint = new ActiveXComponent( "Powerpoint.Application");
powerpoint.setProperty("Visible", new Variant(true)); //不可见打开ppt
//powerpoint.setProperty("AutomationSecurity", new Variant(3)); //禁用宏
doc = word.getProperty("Documents").toDispatch();
ppt = powerpoint.getProperty("Presentations").toDispatch();
}
public int getPptPageCounts(String path){
int page = 0;
Dispatch activePresentation = null ;
try{
System.out.println("open ppt ...");
Dispatch.call(ppt, "Open", path).toDispatch();
activePresentation = powerpoint.getProperty("ActivePresentation").toDispatch();
Dispatch slides = Dispatch.call(activePresentation, "Slides").getDispatch();
page = Dispatch.call(slides, "Count").toInt();
}catch( Exception ex){
System.out.println("error open");
ex.printStackTrace();
}finally{
try{
if( activePresentation!=null )
Dispatch.call(activePresentation, "Close");
}catch( Exception ex2){
ex2.printStackTrace();
}
}
return page;
}
public int getWordPageCounts(String path){
int page = 0;
try{
System.out.println("open doc ...path:"+path);
Dispatch.call(doc, "Open", path).toDispatch();
Dispatch ActiveDocument = Dispatch.get(word, "ActiveDocument").toDispatch();
page = Dispatch.call(ActiveDocument , "ComputeStatistics", new Variant(2)).toInt();
}catch(ComFailException e)
{
try {
this.ini();
System.out.println("open doc again...path:" + path);
return getWordPageCounts_core(path);
} catch (Exception e2) {
throw e2;
}
}
catch( Exception ex){
System.out.println("error open");
ex.printStackTrace();
}finally{
try{
Dispatch.call(doc, "Close", new Variant(false));
}catch( Exception ex2){
}
}
return page;
}
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher kok 虔诚者Pious 宗教信仰* Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com
头衔:uke总部o2o负责人,全球网格化项目创始人,
uke交友协会会长 uke捕猎协会会长 Emir Uke部落首席大酋长,
uke宗教与文化融合事务部部长, uke宗教改革委员会副主席
uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,
uke 首席cto 软件部门总监 技术部副总监 研发部门总监主管 产品部副经理 项目部副经理 uke科技研究院院长 uke软件培训大师
uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人
Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长
uke终身教育学校副校长 Uke医院 与医学院方面的创始人
uec学院校长, uecip图像处理机器视觉专业系主任 uke文档检索专业系主任
Uke图像处理与机器视觉学院首席院长
Uke 户外运动协会理事长 度假村首席大村长 uke出版社编辑总编
转载请注明来源:attilax的专栏 http://blog.csdn.net/attilax
http://www.cnblogs.com/attilax/
--Atiend v9