• 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功能的扩展。

  • 相关阅读:
    桂林印象
    快变
    近期的事
    *C#中使用ref和out一点认识!*
    *在框架集页面放置TreeView控件时页面跳转的问题解决*
    *无法找到脚本库的问题*
    *Ajax.Net快速入门*
    *网页过期*
    *Prototype开发笔记*
    *正则表达式*
  • 原文地址:https://www.cnblogs.com/SanMaoSpace/p/2914721.html
Copyright © 2020-2023  润新知