本演练演示如何创建自定义任务窗格来自动执行 PowerPoint。 当用户单击 MonthCalendar 自定义任务窗格上的控件时,自定义任务窗格将日期插入幻灯片。
适用于: 本主题中的信息适用于 Outlook 的 VSTO 外接程序项目。 有关详细信息,请参阅 Office 应用程序和项目类型提供的功能。
尽管本演练专门使用 PowerPoint,但本演练演示的概念适用于上面列出的任何应用程序。
本演练阐释了以下任务:
设计自定义任务窗格的用户界面。
使用自定义任务窗格自动化 PowerPoint。
在 PowerPoint 中显示自定义任务窗格。
注释
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅个性化设置 Visual Studio IDE。
先决条件
你需要满足以下条件才能完成本演练:
包含 Microsoft Office 开发人员工具的 Visual Studio 版本。 有关详细信息,请参阅 配置计算机以开发 Office 解决方案。
Microsoft PowerPoint 2010 或 PowerPoint 2013。
创建插件项目
第一步是为 PowerPoint 创建 VSTO 外接程序项目。
创建新项目
使用 PowerPoint 外接程序项目模板创建名为 MyAddIn 的 PowerPoint VSTO 外接程序项目。 有关详细信息,请参阅 如何:在 Visual Studio 中创建 Office 项目。
Visual Studio 将打开 ThisAddIn.cs 或 ThisAddIn.vb 代码文件,并将 MyAddIn 项目添加到 解决方案资源管理器。
设计自定义任务窗格的用户界面
没有自定义任务窗格的可视化设计器,但你可以使用所需的布局设计用户控件。 在本演练的后面部分,你将将用户控件添加到自定义任务窗格。
设计自定义任务窗格的用户界面
在 “项目 ”菜单上,单击“ 添加用户控件”。
在“ 添加新项 ”对话框中,将用户控件的名称更改为 MyUserControl,然后单击“ 添加”。
用户控件将在设计器中打开。
从工具箱的“常见控件”选项卡中,将 MonthCalendar 控件拖到用户控件。
如果 MonthCalendar 控件大于用户控件的设计图面,请调整用户控件的大小以适应 MonthCalendar 控件。
从自定义任务窗格自动执行 PowerPoint
VSTO 外接程序的目的是在当前演示文稿的第一张幻灯片上放置所选日期。 使用控件的DateChanged事件,在控件每次更改时添加所选日期。
从自定义任务窗格自动执行 PowerPoint
在设计器中,双击控件 MonthCalendar 。
MyUserControl.cs或MyUserControl.vb文件将被打开,并为DateChanged事件创建事件处理程序。
将以下代码添加到文件顶部。 此代码为 Microsoft.Office.CorePowerPoint 命名空间创建别名。
将以下代码添加到
MyUserControl类。 此代码将 Shape 对象声明为 . 的MyUserControl一个成员。 在以下步骤中,你将使用此 形状 向活动演示文稿中的幻灯片添加文本框。将
monthCalendar1_DateChanged事件处理程序替换为以下代码。 此代码将文本框添加到当前演示文稿的第一张幻灯片,然后将当前选定的日期添加到文本框。 此代码使用Globals.ThisAddIn对象访问 PowerPoint 的对象模型。private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e) { try { if (textbox != null) { textbox.Delete(); } PowerPoint.Slide slide = Globals.ThisAddIn.Application.ActivePresentation.Slides[1]; textbox = slide.Shapes.AddTextbox( Office.MsoTextOrientation.msoTextOrientationHorizontal, 50, 100, 600, 50); textbox.TextFrame.TextRange.Text = e.Start.ToLongDateString(); textbox.TextFrame.TextRange.Font.Size = 48; textbox.TextFrame.TextRange.Font.Color.RGB = Color.DarkViolet.ToArgb(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }在 解决方案资源管理器中,右键单击 MyAddIn 项目,然后单击“ 生成”。 验证项目生成时是否没有错误。
显示自定义任务窗格
若要在 VSTO 外接程序启动时显示自定义任务窗格,请在 VSTO 外接程序的事件处理程序中 Startup 将用户控件添加到任务窗格。
显示自定义任务窗格
在 解决方案资源管理器 中,展开 PowerPoint。
右键单击 ThisAddIn.cs 或 ThisAddIn.vb ,然后单击“ 查看代码”。
将以下代码添加到
ThisAddIn类。 声明ThisAddIn类中的MyUserControl和 CustomTaskPane 实例。将
ThisAddIn_Startup事件处理程序替换为以下代码。 此代码通过将MyUserControl对象添加到CustomTaskPanes集合中来创建一个新的CustomTaskPane。 该代码还显示任务窗格。
测试外接程序
运行项目时,PowerPoint 将打开,VSTO 外接程序将显示自定义任务窗格。 MonthCalendar单击控件以测试代码。
测试 VSTO 外接程序
按 F5 运行项目。
确认自定义任务窗格可见。
单击任务窗格上的控件中的 MonthCalendar 日期。
日期插入到活动演示文稿的第一张幻灯片中。
后续步骤
可以详细了解如何从以下主题创建自定义任务窗格:
为其他应用程序在 VSTO 外接程序中创建自定义任务窗格。 有关支持自定义任务窗格的应用程序的详细信息,请参阅 自定义任务窗格。
创建可用于隐藏或显示自定义任务窗格的功能区按钮。 有关详细信息,请参阅 演练:将自定义任务窗格与功能区按钮同步。
为 Outlook 中打开的每个电子邮件创建自定义任务窗格。 有关详细信息,请参阅 演练:在 Outlook 中使用电子邮件显示自定义任务窗格。