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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM