VSTO Office二次开发对PowerPoint功能简单测试
最近碰到使用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”文件中,添加如下代码:
/// <summary> /// 添加自定义的Task Pane /// </summary> 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功能的扩展。