如何使用C#操作幻灯片

所属分类: 软件编程 / C#教程 阅读数: 76
收藏 0 赞 0 分享

记得老师讲课的时候,经常会用PPT遥控翻页笔来遥控幻灯片来给我们讲课,当时觉得非常有趣,由于这段时间接触了VSTO相关的开发,了解到了Office的相关产品都公开了一些API来让我们对Office产品进行二次开发,这时候我就想,能不能用PowerPoint公开的对象来制作一个遥控幻灯片的程序呢?在本专题就向大家介绍下这个小工具的实现思路和效果。

实现思路

1、既然要实现的程序是遥控幻灯片,这样我们就需要先获得幻灯片应用程序的,在PowerPoint对象模型中,Microsoft.Office.Interop.PowerPoint.Application代表Powerpoint应用程序,这点和Word、Excel和Outlook都是一样的。
2、获得了幻灯片应用程序对象之后,之后我们就需要获得幻灯片对象,因为我们遥控的是幻灯片,在PowerPoint对象模型中也提供了幻灯片对象,即Microsoft.Office.Interop.PowerPoint.Slide。由于幻灯片又是存在于演示文稿中的,所以我们要想获得幻灯片对象,就需要先获得演示文稿对象,Microsoft.Office.Interop.PowerPoint.Presentation 就是代表演示文稿对象。
3、获得幻灯片对象之后,我们就可以利用幻灯片对象的Select方法来进行幻灯片的切换,然而在阅读模式的情况下,不能用Select方法来进行翻页,此时需要另一种方式来实现,即调用 Microsoft.Office.Interop.PowerPoint.SlideShowView对象的First,Next,Last,Previous方法来进行幻灯片翻页

下面一张是阅读模式下程序中实现翻页功能与在幻灯片中的对应关系:

遥控幻灯片程序的实现

有了上面的解释,我们再看下面的实现代码时,相信大家肯定不会觉得有任何难道了,下面就直接贴出部分的实现的代码

/// <summary>
/// 检查是否打开幻灯片程序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
privatevoid btnCheck_Click(object sender, EventArgs e) 
{ 
// 必须先运行幻灯片,下面才能获得PowerPoint应用程序,否则会出现异常
// 获得正在运行的PowerPoint应用程序
try
  { 
    pptApplication = Marshal.GetActiveObject("PowerPoint.Application") as PPt.Application; 
// 成功获取了PowerPoint程序时,使UI按钮可用
this.btnFirst.Enabled = true; 
this.btnNext.Enabled = true; 
this.btnPrev.Enabled = true; 
this.btnLast.Enabled = true; 
  } 
catch
  { 
    MessageBox.Show("请先启动遥控的幻灯片", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 
  } 
if (pptApplication != null) 
  { 
//获得演示文稿对象
    presentation = pptApplication.ActivePresentation; 
// 获得幻灯片对象集合
    slides = presentation.Slides; 
// 获得幻灯片的数量
    slidescount = slides.Count; 
// 获得当前选中的幻灯片
try
    { 
// 在普通视图下这种方式可以获得当前选中的幻灯片对象
// 然而在阅读模式下,这种方式会出现异常
      slide = slides[pptApplication.ActiveWindow.Selection.SlideRange.SlideNumber]; 
    } 
catch
    { 
// 在阅读模式下出现异常时,通过下面的方式来获得当前选中的幻灯片对象
      slide = pptApplication.SlideShowWindows[1].View.Slide; 
    } 
  } 
} 
// 第一页事件
privatevoid btnFirst_Click(object sender, EventArgs e) 
{     
try
  { 
// 在普通视图中调用Select方法来选中第一张幻灯片
    slides[1].Select();     
    slide = slides[1]; 
  } 
catch
  { 
// 在阅读模式下使用下面的方式来切换到第一张幻灯片
    pptApplication.SlideShowWindows[1].View.First(); 
    slide = pptApplication.SlideShowWindows[1].View.Slide; 
  } 
} 

下面就看看该遥控程序的运行效果是如何的:

小结

到这里本专题的介绍就结束了,其实本程序最好是放在手机客户端,这样我们就可以利用手机来对我们的幻灯片进行翻页了,这样就和激光笔的效果就是一样的了,这里就给大家先提供一个思路吧,我相信如果要在手机客户端实现的话,肯定就需要蓝牙编程的技术或者WiFi编程的技术来获取笔记本电脑的幻灯片应用程序,只要我们成功在手机客户端获取了PowerPoint应用程序对象的话,后面的实现过程就和本程序的实现方式就基本一样的,然而我们同时打开笔记本的蓝牙和手机的蓝牙(也可以利用WiFi),这样我们就可以轻松实现用手机来遥控我们演讲文稿了。

以上就是本文给大家分享的使用C#制作幻灯片的全过程,希望大家可以喜欢。

更多精彩内容其他人还在看

c#开发word批量转pdf源码分享

已经安装有Office环境,借助一些简单的代码即可实现批量Word转PDF,看下面的实例源码吧
收藏 0 赞 0 分享

c# xml API操作的小例子

这篇文章主要介绍了c# xml API操作的小例子,有需要的朋友可以参考一下
收藏 0 赞 0 分享

c#唯一值渲染实例代码

这篇文章主要介绍了c#唯一值渲染实例代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

淘宝IP地址库采集器c#代码

这篇文章主要介绍了淘宝IP地址库采集器c#代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

C#在后台运行操作(BackgroundWorker用法)示例分享

BackgroundWorker类允许在单独的专用线程上运行操作。如果需要能进行响应的用户界面,而且面临与这类操作相关的长时间延迟,则可以使用BackgroundWorker类方便地解决问题,下面看示例
收藏 0 赞 0 分享

c#文本加密程序代码示例

这是一个加密软件,但只限于文本加密,加了窗口控件的滑动效果,详细看下面的代码
收藏 0 赞 0 分享

c#生成站点地图(SiteMapPath)文件示例程序

这篇文章主要介绍了c#生成站点地图(SiteMapPath)文件的示例,大家参考使用
收藏 0 赞 0 分享

C# 键盘Enter键取代Tab键实现代码

这篇文章主要介绍了C# 键盘Enter键取代Tab键实现代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm导出Excel方法介绍

在.NET应用中,导出Excel是很常见的需求,导出Excel报表大致有以下三种方式:Office PIA,文件流和NPOI开源库,本文只介绍前两种方式
收藏 0 赞 0 分享

C#串口通信程序实例详解

在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports,创建C#串口通信程序的具体实现是如何的呢?让我们开始吧
收藏 0 赞 0 分享
查看更多