//实现PPT文本查找功能
//关键代码
private void searchPPT(string[] keyWordList,string pptFileName)//在指定的ppt文档中搜索keyWord
{
//Microsoft powerpoint 11.0 object library这个是所添加的引用
showMsg(lbShowMsg,"启动搜索"+pptFileName);
//其中Presentation代表一个 PowerPoint 文档,Slide表示PowerPoint文档中的单张幻灯片
//TextFrame是幻灯片上的文本框,TextRange是文本框中的文本。
PowerPoint.ApplicationClass pa;
PowerPoint.Presentation pp;
pa=null;
pp=null;
try
{
showMsg(lbShowMsg,"尝试打开 "+pptFileName);
//打开ppt文档
pa=new PowerPoint.ApplicationClass();
pp=pa.Presentations.Open(pptFileName,
Microsoft.Office.Core.MsoTriState.msoTrue,
Microsoft.Office.Core.MsoTriState.msoTrue,Microsoft.Office.Core.MsoTriState.msoFalse);
PowerPoint.TextRange oText;
//总的幻灯片数
int slideCount=pp.Slides.Count;
//对每张幻灯片
foreach(PowerPoint.Slide slide in pp.Slides)
{
showMsg(lbShowMsg,"正在搜索"+pptFileName+" 幻灯片"+slide.SlideNumber.ToString()+"/"+slideCount);
//对所有的元素
foreach(PowerPoint.Shape shape in slide.Shapes)
{
//如果此幻灯片中有文本框
if(shape.HasTextFrame==Microsoft.Office.Core.MsoTriState.msoTrue)
{
//对每组关键字
foreach(string keyWord in keyWordList)
{
oText=null;
oText=shape.TextFrame.TextRange.Find
(keyWord,0,Microsoft.Office.Core.MsoTriState.msoFalse,Microsoft.Office.Core.MsoTriState.msoTrue);
if (oText!=null)
{
string temp=pptFileName.Remove(0,pptFileName.LastIndexOf("\\")+1);
string name=temp.Remove(temp.LastIndexOf("."),4);
int index=slide.SlideNumber;
//添加到搜索结果中
lbResult.Items.Add(name+" 幻灯片"+index.ToString()+"/"+slideCount);
lbResult.Update();
resultText.Add(shape.TextFrame.TextRange.Text);
continue;
}
}
}
}
}
}
catch
{
}
finally
{
//释放资源
if(pp!=null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(pp);
pp=null;
}
if(pa!=null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(pa);
pa=null;
}
}
}
分享到:
相关推荐
C#高级编程ppt和例子代码. 很不错的教程和代码。
C#入门基础知识ppt,C#入门基础知识,ppt小程序的例子
C#中字符串的介绍、正则表达式的介绍,正则表达式的模式匹配表示法 每个知识点的例子有源代码
安博.net 实训c#基础教程ppt 类,继承,多态,基础的基础,很通俗的例子
c#管理系统+ppt 用到ADO.NET的大部分技术,非常好的例子
实现ppt导出pdf,本资源包含C#winform项目和VSTO项目两个例子
C# 图像处理 例子 代码 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等
c#的完整课件,制作精美,内容不错,还有程序例子
C#net_经典编程例子400个,个个经典 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等
ASP.NET2.0实用教程(C#版)书中例子,这是一个PPT的
最好的C#入门讲义PPT,讲解的很透彻,而且可以帮助用户理解C#的语言特性,其富含例子和图例。
C#书店管理系统 经典的3成例子 C#书店管理系统+ppt开发文档 C#书店管理系统+ppt开发文档
C# 存储过程 ppt讲解,加实战例子,一学就会。
C# 中委托和事件的例子DelegateAndEventDemo 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等
windows程序设计(visual c#.net)ppt ,适合所有初学者和上课课件使用,还有上课使用的一些例子源码。
该课件包括C#的十三章内容,涉及到多方面,比如数据库,网络,等方面,适合于初学者的学习。课件中还有一些例子,以及源代码。
c#GDI+例子源码 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等
C#初学者应该找个好的教材,有什么比大学老师的课件更好的东西呢?里面有老师的经典例子,对于初学者很有用!
C#窗体控件ListBox经典使用的例子 源码 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等
在网上精心收集的C#最经典30个例子,是学习C#的很好的实例,此后还将发布C#从零开始教学ppt以及实例,竭诚为大家服务...