//实现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;
}
}
}
分享到:
相关推荐
2. **LINQ(Language Integrated Query)**:这是一个强大的查询工具,它将SQL查询语法集成到C#中,使得在内存数据操作和数据库查询时更加方便高效。 3. **委托与事件**:C#中的委托类似于函数指针,用于传递方法...
这份资料涵盖了C#的基础概念到高级应用,通过PPT和配套的文档,为学生提供了一个全面的学习路径。 首先,我们从压缩包中的"第01章 概述.ppt"开始,这个章节通常会介绍C#语言的历史、特点以及它在.NET框架中的地位。...
1. **正则表达式模式**:如`\d`代表数字,`.`代表任意字符,`*`代表零个或多个前一个字符,`+`代表一个或多个前一个字符,`?`代表零个或一个前一个字符,`^`和`$`分别代表字符串开始和结束。 2. **正则对象**:`...
【标题】"安博C#培训 ppt"是一个关于C#编程语言的基础教学资源,由知名的教育机构安博提供。这个实训教程主要针对初学者,旨在帮助他们理解和掌握C#的核心概念,包括类、继承和多态等面向对象编程的关键要素。 在C#...
北大青鸟的C#培训教程课件PPT全集会为学习者提供系统的学习路径,每个章节都配有丰富的例子和解释,便于理解和掌握。 总之,C#作为一门强大而灵活的编程语言,是进入软件开发领域的理想选择。通过北大青鸟的C#培训...
2. **项目结构**:可能包含一个完整的C#项目,展示如何组织代码、定义类库和引用外部组件。 3. **调试技巧**:源码可能包括调试代码的注释,教你如何使用Visual Studio或其他IDE进行调试。 4. **异常处理**:实际...
在IT行业中,转换文件格式是一项常见的任务,尤其是在处理多种数据类型时。本示例中,我们探讨的是如何使用...这个过程涉及到C#编程、Office Interop、图像处理和文件操作等多个技术领域,是开发实践中一个实用的例子。
下面是一个简单的事件例子: ```csharp public class Publisher { public event MyDelegate OnEvent; public void TriggerEvent() { if (OnEvent != null) OnEvent(10, 20); // 触发事件,调用所有已注册的...
在C#编程语言中,图像处理是一个广泛的领域,它涵盖了从基本的图像显示到复杂的图像分析和编辑的各种操作。在本资源中,我们主要关注的是C#中的图像处理实例代码,这将帮助开发者掌握如何在实际项目中应用这些技术。...
在.NET框架中,C#与数据库的交互是一个关键部分,特别是在开发Windows Forms应用程序时。本节将深入探讨几个核心概念,包括数据集(DataSet)、数据适配器(DataAdapter)和数据读取器(DataReader),以及如何使用...
C#net_经典编程例子400个,个个经典 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等
压缩包中的"T5.ppt"可能是一个关于反射的演示文稿,可能包含了更深入的理论解释和示例代码。"MyDLL"可能是一个动态链接库文件,其中包含了一些可被反射操作的类型或方法。"RefDemo"可能是一个示例项目,用于演示如何...
总的来说,"西安电子科技大学C# PPT课件"会是一个全面而深入的学习资源,涵盖了从基础到高级的C#编程知识,对于初学者而言,不仅可以系统地学习C#语言,还能了解其在实际开发中的应用。通过深入学习并实践课件中的...
以下是一个简单的示例,展示了如何创建和启动一个新线程: ```csharp using System; using System.Threading; public class A { public void ff() { Console.WriteLine("A.ff() 方法在另一个线程上运行!! "); ...
.NET框架是一个由微软开发的软件框架,它旨在支持多种编程语言的开发,允许开发者使用不同的编程语言编写代码,并在同一个平台下执行。.NET框架提供了一个丰富的类库和运行时环境,可以帮助开发者快速构建各种应用。...
在本文中,我们将深入探讨如何使用C#和WPF(Windows Presentation Foundation)技术来创建一个PPT(PowerPoint)倒计时程序。"开箱即用"意味着这个解决方案旨在提供一个简单、直接且无需额外配置就能使用的功能。...
在提供的代码示例中,`MaxValue` 函数就是一个接受参数的例子。它接受一个名为`intArray`的整数数组作为参数,其类型为`int[]`,表示一个包含整数的数组。这个函数的目标是从数组中找出最大值并返回。 在`MaxValue`...
4. 使用事务确保数据一致性,特别是在多个操作需要原子执行时。 综上所述,“C# 存储过程ppt 加示例”这份资料将涵盖存储过程的基本概念、C#中调用存储过程的方法,以及实际案例,帮助开发者深入理解和掌握这一技能...
而在C# 2.0中,通过泛型,我们只需要一个泛型方法`GetMax<T>`,其中`T`是类型参数,可以是任何实现了`IComparable`接口的类型。这样就避免了重复代码,提高了代码的复用性和可维护性。 泛型不仅提高了代码的效率,...
ASP.NET 2.0是微软开发的一个用于构建Web应用程序的框架,它基于.NET Framework,提供了丰富的功能和工具,使得开发者可以使用C#等语言高效地创建动态网站、Web服务和Web应用程序。本教程以C#语言为例,深入浅出地...