`
leonardleonard
  • 浏览: 801480 次
社区版块
存档分类
最新评论

用C#实现在PowerPoint文档中搜索文本

阅读更多
用编程的方式根据对象模型很容易实现在Word、Excel文档中搜索文本,在PowerPoint里面也同样如此,使用对象模型有助于我们了解office的文档结构。 

  搜索的思路和方法基本是一样的,用PowerPoint应用程序对象打开指定的文档,用文档对象获取文档,再使用合适的对象将文档分割成搜索范围适中的对象进行搜索。

  打开PowerPoint的VBA帮助文档VBAPP10.CHM,根据对象模型图,很容易找到我们需要的几个集合和对象:Application、Presentations、Presentation、Slides、Slide、TextFrame、TextRange。其中Presentation代表一个 PowerPoint 文档,Slide表示PowerPoint文档中的单张幻灯片,TextFrame是幻灯片上的文本框,TextRange是文本框中的文本。

  打开PowerPoint文档:

string filename="";

PowerPoint.Application pa
=new PowerPoint.ApplicationClass();
PowerPoint.Presentation pp
=pa.Presentations.Open(filename,
                Microsoft.Office.Core.MsoTriState.msoTrue,
                Microsoft.Office.Core.MsoTriState.msoFalse,
                Microsoft.Office.Core.MsoTriState.msoFalse);

  Open()方法的第三个参数在帮助文档中的说明如下:

  Untitled     可选。MsoTriState 类型。指定文件是否有标题。

  因为是Untitled,所以按照上面的代码,打开文档之后才能引用PowerPoint文档的标题,如果不想使用标题,就要把枚举msoFalse改成msoTrue。
搜索文本:

string[] strKeyWordList={};    //要搜索的文本
PowerPoint.TextRange oText;
foreach(PowerPoint.Slide slide in pp.Slides)
{
    
foreach(PowerPoint.Shape shape in slide.Shapes)
    
{
        
foreach(string strKeyWord in strKeyWordList)
        
{
            oText
=null;
            oText
=shape.TextFrame.TextRange.Find(strKeyWord,0,Microsoft.Office.Core.MsoTriState.msoFalse,Microsoft.Office.Core.MsoTriState.msoTrue);
            
if (oText!=null)
            
{
                MessageBox.Show(
"文档中包含指定的关键字 "+strKeyWord+" !","搜索结果",MessageBoxButtons.OK);
                
continue;
            }

        }

    }

}
用编程的方式根据对象模型很容易实现在Word、Excel文档中搜索文本,在PowerPoint里面也同样如此,使用对象模型有助于我们了解office的文档结构。 

  搜索的思路和方法基本是一样的,用PowerPoint应用程序对象打开指定的文档,用文档对象获取文档,再使用合适的对象将文档分割成搜索范围适中的对象进行搜索。

  打开PowerPoint的VBA帮助文档VBAPP10.CHM,根据对象模型图,很容易找到我们需要的几个集合和对象:Application、Presentations、Presentation、Slides、Slide、TextFrame、TextRange。其中Presentation代表一个 PowerPoint 文档,Slide表示PowerPoint文档中的单张幻灯片,TextFrame是幻灯片上的文本框,TextRange是文本框中的文本。

  打开PowerPoint文档:

string filename="";

PowerPoint.Application pa
=new PowerPoint.ApplicationClass();
PowerPoint.Presentation pp
=pa.Presentations.Open(filename,
                Microsoft.Office.Core.MsoTriState.msoTrue,
                Microsoft.Office.Core.MsoTriState.msoFalse,
                Microsoft.Office.Core.MsoTriState.msoFalse);

  Open()方法的第三个参数在帮助文档中的说明如下:

  Untitled     可选。MsoTriState 类型。指定文件是否有标题。

  因为是Untitled,所以按照上面的代码,打开文档之后才能引用PowerPoint文档的标题,如果不想使用标题,就要把枚举msoFalse改成msoTrue。
搜索文本:

string[] strKeyWordList={};    //要搜索的文本
PowerPoint.TextRange oText;
foreach(PowerPoint.Slide slide in pp.Slides)
{
    
foreach(PowerPoint.Shape shape in slide.Shapes)
    
{
        
foreach(string strKeyWord in strKeyWordList)
        
{
            oText
=null;
            oText
=shape.TextFrame.TextRange.Find(strKeyWord,0,Microsoft.Office.Core.MsoTriState.msoFalse,Microsoft.Office.Core.MsoTriState.msoTrue);
            
if (oText!=null)
            
{
                MessageBox.Show(
"文档中包含指定的关键字 "+strKeyWord+" !","搜索结果",MessageBoxButtons.OK);
                
continue;
            }

        }

    }

}

 
分享到:
评论

相关推荐

    C#操作PowerPoint的方法

    在C#中,我们通常通过创建`Microsoft.Office.Interop.PowerPoint.Application`对象来启动PowerPoint应用程序,并使用`Presentations`集合中的`Open`方法打开特定的PPT文件。以下是一个打开PPT文档并播放的示例: ``...

    用C#实现的将PPT文档转换为png图片并在图片右下角增加页码

    本示例中,我们探讨的是如何使用C#编程语言将PPT(PowerPoint)文档转换为PNG图片,并在图片的右下角添加页码。这个功能对于创建演示文稿预览、网络共享或者在不支持PPT格式的应用中展示内容特别有用。以下是一些...

    使用c#编写的搜索引擎

    在这个案例中,我们关注的是一个使用C#编程语言编写的搜索引擎,它能够针对多种常见的文件格式进行检索和查询,包括文本文件、Word文档、Excel电子表格、PowerPoint演示文稿、PDF文档以及HTML网页。这个项目不仅展示...

    C#读取DOC PPT EXCEL转换为文本TXT

    本主题聚焦于使用C#处理Office文档,包括DOC(Word文档)、PPT(PowerPoint演示文稿)和EXCEL(电子表格),并将其内容转换成纯文本TXT格式。这种操作在数据提取、文本分析或跨平台兼容性需求时非常有用。 首先,让...

    C# 生成ppt PPt C# 生成ppt PPt

    根据给定的信息,本文将详细解释如何使用C#来生成PPT文档,主要涉及创建文本、图片、多媒体对象以及Flash对象等内容。 ### C# 生成 PPT 的基本原理 在.NET框架下,C#可以通过调用Microsoft Office Interop库来操作...

    C#的搜索doc\xls\ppt文件中关键字的程序

    在本文中,我们将深入探讨如何使用C#编程语言来实现一个功能,即在Microsoft Office 2003的文档(doc、xls、ppt)中搜索特定关键字。这个程序的实现涉及了文本处理、文件操作以及对Office文档格式的理解。下面我们将...

    Open XML 操作powerpoint 示例

    在处理PowerPoint文档时,我们需要关注的主要类有`PresentationDocument`,它代表整个演示文稿,以及`Slide`和`SlidePart`,它们分别表示幻灯片和幻灯片的组成部分。以下是一些基本步骤: 1. **打开演示文稿**: ...

    C#的office文档操作.rar

    在C#编程环境中,对Office文档的操作是一项常见的需求,涵盖了创建、读取、修改和保存Microsoft Office格式的文件,如Word文档(.docx)、Excel表格(.xlsx)和PowerPoint演示文稿(.pptx)。这个压缩包“C#的office...

    C# 制作功能强大的文本编辑器

    在IT领域,尤其是在软件开发中,C#是一种广泛使用的编程语言,尤其适合构建桌面应用程序,如文本编辑器。本文将深入探讨如何利用C#来制作一个功能强大的文本编辑器,涉及的关键技术包括文件流的读写操作、文本文件...

    使用C#语言操作Office(word,ppt,excel,pdf)文档教材

    本教程集中于使用C#操作各种Office文档,包括Word、PowerPoint、Excel以及PDF,这些都是日常工作和学习中常见的文件格式。了解如何通过编程方式与这些文件交互,能极大地提高效率和自动化程度。 首先,让我们深入...

    c#检索excel word ppt pdf

    在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows桌面应用、Web应用以及服务端应用程序时。本文将深入探讨如何使用C#进行多格式文档(如Excel、Word、PowerPoint和PDF)的全文检索。 一、Excel全文检索 ...

    免费Spire.Presentation: 处理PowerPoint文档

    Free Spire.Presentation for .NET 是一款专业的.NET PowerPoint 类库,用于帮助开发人员在.NET平台创建、读取、编辑、转换和打印PowerPoint文档。Spire.Presentation for .NET支持PPT, PPS, PPTX and PPSX等格式。...

    在c#中使用office对象

    在C#中使用Office对象,主要是指通过Microsoft Office Interop库与Office应用程序进行交互,例如Word、Excel和PowerPoint等。这种交互允许开发者在C#应用程序中创建、修改和操作Office文档,为自动化办公任务提供了...

    Powerpoint word excel 批量转HTML (C#源代码)

    5. **API和库**:在C#中,可以使用Microsoft的Open XML SDK或者第三方库如NPOI来读取和操作Office文档。这些库提供了与Office文件格式交互的接口,帮助开发者完成转换工作。 6. **源代码**:提供的"OfficeToHTML"源...

    c#获取Office中的文本与图片内容

    在C#编程中,处理Office文档(如Word、Excel或PowerPoint)的文本和图片是一项常见的任务。这通常涉及到对Microsoft Office Interop库的使用,它允许开发者通过.NET Framework直接与Office应用程序进行交互。以下是...

    根据文档内容搜索office文件

    标题中的“根据文档内容搜索office文件”指的是在大量的Office文档(如Word、Excel或PowerPoint)中通过其内部文本内容进行查找和定位的功能。这种功能通常用于企业环境中,帮助用户快速检索存储在服务器或网络共享...

    在线展示文档实例c#:FLEXPAPER+SWFTOOLS+office2016+vs15

    SWFTOOLS中的pdf2swf工具可以实现这一功能,它能够将PDF的文本、图像和图形转换为可在网络上传输的SWF动画。 接下来,我们讨论如何使用Office 2016进行文件转换。Microsoft Office 2016内置了文件转换功能,可以将...

    C#生成PPT的2种方法

    在.NET框架中,C#程序员可以使用不同的库和方法来创建和编辑PowerPoint(PPT)文件。本文将深入探讨两种常见的C#生成PPT的方法,以帮助开发者更好地理解和实现这个功能。 首先,我们来看第一种方法:使用Microsoft ...

    c# OpenXML DLL类库

    在C#项目中使用OpenXML DLL类库,可以实现对文档内容的读取、修改和创建,从而实现自动化办公文档处理。 首先,OpenXML SDK的主要优点在于它的灵活性和效率。通过这个库,开发者可以直接访问XML文档的元素,例如在...

    C# 不依赖Office读取Word、PPT

    在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows桌面应用和.NET框架中扮演着重要角色。本文将深入探讨如何使用C#在不依赖Microsoft Office组件的情况下,读取和处理Word(doc, docx)及PowerPoint(ppt,...

Global site tag (gtag.js) - Google Analytics