博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VSTO Office二次开发对PowerPoint功能简单测试
阅读量:7194 次
发布时间:2019-06-29

本文共 2822 字,大约阅读时间需要 9 分钟。

最近碰到使用VSTO技术对Office做插件开发的问题,发现网上的资源很少,大部分都是对于Word\Excel\Outlook的相关操作,发现不少是用VB语言写的VBA开发,对于PPT的操作不是很多,资源很少,还好MSDN还有一些资源可以查一下,但有些慢些了,简单给大家分享一下。使用的开发环境VS2010,运行程序office 2007

一、简单测试程序
1.创建PPT应用程序级外接程序(C#程序)
文件-》新建项目-》选择“Visual C#”-》选择“Office”-》选择“2010或2007”-》选择“PowerPoint 2007 外接程序”或“PowerPoint 2010 外接程序”(这里用的是2007测试的)-》设置名称、位置、解决方案名称,点击“确定”,则创建完毕。
2.简单测试:实现在每页PPT中显示文本
代码如下:

//添加自定义文本信息        private void AddText()        {            //事件委托绑定(对PPT中添加代码控制文本)            this.Application.PresentationNewSlide += new PowerPoint.EApplication_PresentationNewSlideEventHandler(Application_PresentationNewSlide);        }        //此为Application对象的PresentationNewSlide事件        //功能:当用户将新幻灯片添加到活动演示文稿时,此事件处理程序会将文本框添加到新幻灯片的顶部,然后向文本框中添加一些文本。        void Application_PresentationNewSlide(PowerPoint.Slide Sld)        {            //这里的Application表示 PowerPoint 的当前实例。            //这里的参数Sld,表示新幻灯片的Slide对象。            PowerPoint.Shape textBox = Sld.Shapes.AddTextbox(Office.MsoTextOrientation.msoTextOrientationHorizontal, 0, 0, 500, 50);            textBox.TextFrame.TextRange.InsertAfter("This Text Was Added By Using Code!");        }    private void ThisAddIn_Startup(object sender, System.EventArgs e)        {        //注意:在ThisAddIn_Startup中调用对应的方法,            AddText();//添加自定义文本信息        }

3.运行程序查看效果

F5运行程序,查看效果。
会发现在打开一个office 2007的PPT文件都会有这个效果。查看一些PowerPoint选项左侧的“加载项”中就可以找到对应的加载项。
注意:有时候,没有对应的效果,可能是PPT的加载项中把你创建的COM加载项禁用了。只需要启用对应的加载项即可。
启用组件操作:在管理中选择“禁用项目”,点击“转到...”,会弹出禁用项目对话框,找到你的组件启用即可。
注意:如果不需要这些自己定义的组件功能,可以使用“清理”解决方案,将其移除。

 

二、简单自定义任务窗格

1.创建自定义窗格
在已创建的外接项目中右击解决方案添加新建项,选择“用户控件”,设置名称,点击添加,即创建一个用户控件。
用户控件很像是对于WinForm窗体的操作在工具箱中,拖拽你需要的按钮,实现对应的功能。
这里做一些简单的效果测试,加一个按钮,点击事件弹出"Hello TaskPanel!"
2.将创建的用户控件关联PPT组件
在“ThisAddIn.cs”文件中,添加如下代码:

///         /// 添加自定义的Task Pane        ///         private void AddTaskPane()        {        //自定义用户控件名称(即自定任务窗格类)            UCTaskPane taskPane = new UCTaskPane();        //将用户控件添加到 CustomTaskPaneCollection集合中            CustomTaskPane myCustomTaskPane  = this.CustomTaskPanes.Add(taskPane, "My Task Pane");            myCustomTaskPane.Width = 200;//设置自定义任务窗格的宽度            myCustomTaskPane.Visible = true;//设置其可见        }

在ThisAddIn_Startup中调用该方法。

3.运行程序查看效果
F5运行程序,查看效果。通常在右侧会出现自己创建的任务窗格,如果不加设定,它的位置是可以随便在边缘放置的顶部、底部、左侧、右侧。
注意:这里的任务窗格可以根据具体的业务需要在上面实现对应的功能;在一个组件中还可以创建多个任务窗格,一起使用。

 

三、简单可视化功能区使用 

1.创建Ribbon可视化功能区 在已创建的外接项目中右击解决方案添加新建项,选择“功能区(可视化设计器)”,点击“添加”,即创建成功。 
2.对于Ribbon功能区的简单使用 默认会创建一个tab页,如果不修改其Label将显示“加载项”,如果修改将显示你修改的信息内容。可以在工具箱中的Office功能区控件,选择你所需要的控件,也可以使用其他的一些控件。通常将这些控件放在一个Group容器中,形成简单的功能集合。(像是WinForm编程,拖拽控件实现对应的功能) 这里简单的测试一下,一个简单的Group容器,放一个Button按钮,实现其点击事件,弹出“Hello Ribbon!”。(也可以继续添加其他的控件测试其功能) 
3.运行程序查看效果 F5运行程序,查看效果。在顶部就会看到自定义的tab页,及其tab内的按钮,实现对原有office功能的扩展。

 

本文转自SanMaoSpace博客园博客,原文链接:http://www.cnblogs.com/SanMaoSpace/archive/2013/02/17/2914721.html,如需转载请自行联系原作者

你可能感兴趣的文章
02-CSS基础与进阶-day5_2018-09-03-22-10-39
查看>>
Krajee 文件上传
查看>>
[深入JUnit] 测试运行的入口
查看>>
.Net转Java自学之路—基础巩固篇十五(IO)
查看>>
CRUD操作
查看>>
C#和VB新版本的最新特性列表
查看>>
centos部署airflow工作流, 本地web界面不显示
查看>>
_itoa _itow _itot atoi atof atol
查看>>
想说的话
查看>>
前端静态资源版本更新与缓存之——通过gulp 在原html文件上自动化添加js、css版本号...
查看>>
c++ sizeof
查看>>
摘录:测试各阶段的意义
查看>>
成长型思维模式Not yet
查看>>
Dell PowerEdge服务器RAID卡驱动下载
查看>>
安装Stomp扩展时错误提示error: 'zend_class_entry' has no member named 'default_properties'
查看>>
构建之法第六、七章读后感
查看>>
三类人喝豆浆会要命
查看>>
dev NavBarControl控件
查看>>
数据库 锁机制
查看>>
Acdream Xor 简单数学
查看>>