演练:从操作窗格将文本插入到文档中
此演练演示如何在 Microsoft Office Word 文档中创建操作窗格。 操作窗格包含两个控件,用于收集输入并随后将文本发送到文档。
**适用于:**本主题中的信息适用于 Word 2007 和 Word 2010 的文档级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能。
本演练阐释了以下任务:
在操作窗格控件上使用 Windows 窗体控件来设计界面。
打开应用程序时显示操作窗格。
提示
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 您安装的 Visual Studio 版本以及使用的设置决定了这些元素。 有关更多信息,请参见 使用设置。
系统必备
您需要以下组件来完成本演练:
-
Visual Studio 2010 的一个版本,其中包含 Microsoft Office 开发工具。有关更多信息,请参见[将计算机配置为开发 Office 解决方案](bb398242\(v=vs.100\).md)。
- Word 2007 或 Word 2010。
创建项目
第一步是创建 Word 文档项目。
创建新项目
创建一个 Word 文档项目,并将其命名为“My Basic Actions Pane”。 在向导中,选择**“创建新文档”**。 有关更多信息,请参见如何:在 Visual Studio 中创建 Office 项目。
Visual Studio 将在设计器中打开新的 Word 文档,并将**“My Basic Actions Pane”项目添加到“解决方案资源管理器”**中。
向文档中添加文本和书签
操作窗格将向文档中的书签发送文本。 若要设计文档,请键入一些文本以创建基本窗体。
向文档中添加文本
在 Word 文档中键入以下文本:
March 21, 2008
名称
地址
这是 Word 中基本操作窗格的示例。
通过将 Bookmark 控件从 Visual Studio 中的**“工具箱”拖动到文档中或使用 Word 中的“书签”**对话框,可以将该控件添加到文档中。
向文档中添加 Bookmark 控件
从**“工具箱”的“Word 控件”**选项卡中,将一个 Bookmark 控件拖动到文档中。
将出现**“添加书签控件”**对话框。
选择单词**“Name”,而不选择段落标记,然后单击“确定”**。
提示
段落标记应该在书签之外。 如果段落标记在文档中不可见,请单击“工具”菜单,指向“Microsoft Office Word Tools”,然后单击“选项”。 单击“视图”选项卡,然后在“选项”对话框的“格式化标记”区域中选择“段落标记”复选框。
在**“属性”窗口中,将“Bookmark1”的“Name”**属性更改为 showName。
选择单词**“Address”**,而不选择段落标记。
在功能区的**“插入”选项卡上的“链接”组中,单击“书签”**。
在**“书签”对话框的“书签名”框中键入 showAddress,然后单击“添加”**。
向操作窗格中添加控件
若要设计操作窗格界面,请向项目中添加操作窗格控件,然后向操作窗格控件添加 Windows 窗体控件。
添加操作窗格控件
在**“解决方案资源管理器”中选择“My Basic Actions Pane”**项目。
在**“项目”菜单上,单击“添加新项”**。
在**“添加新项”对话框中单击“操作窗格控件”,并将该控件命名为“InsertTextControl”,然后单击“添加”**。
向操作窗格控件添加 Windows 窗体控件
如果操作窗格控件在设计器中不可见,请双击**“InsertTextControl”**。
从**“工具箱”的“公共控件”选项卡中,将“Label”**控件拖动到操作窗格控件中。
将 Label 控件的 Text 属性更改为“Name”。
将**“Textbox”**控件添加到操作窗格控件中,然后更改以下属性。
Property
值
名称
getName
大小
130, 20
将第二个**“Label”控件添加到操作窗格控件中,然后将“Text”**属性更改为“Address”。
将第二个**“Textbox”**控件添加到操作窗格控件中,然后更改以下属性。
Property
值
名称
getAddress
Accepts Return
True
Multiline
True
大小
130, 40
将**“Button”**控件添加到操作窗格控件中,然后更改以下属性。
Property
值
名称
addText
Text
Insert
添加用于将文本插入文档的代码
在操作窗格中,编写用于将文本框中的文本插入文档中相应 Bookmark 控件的代码。 可以使用 Globals 类通过操作窗格上的控件来访问文档上的控件。 有关更多信息,请参见 对 Office 项目中对象的全局访问。
将操作窗格中的文本插入文档中的书签
将以下代码添加到**“addText”**按钮的 Click 事件处理程序。
Private Sub addText_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles addText.Click If Me.getName.Text <> String.Empty Then Globals.ThisDocument.showName.Text = Me.getName.Text End If If Me.getAddress.Text <> String.Empty Then Globals.ThisDocument.showAddress.Text = Me.getAddress.Text End If Me.getName.Text = String.Empty Me.getAddress.Text = String.Empty End Sub
private void addText_Click(object sender, System.EventArgs e) { if (this.getName.Text != String.Empty) { Globals.ThisDocument.showName.Text = this.getName.Text; } if (this.getAddress.Text != String.Empty) { Globals.ThisDocument.showAddress.Text = this.getAddress.Text; } this.getName.Text = String.Empty; this.getAddress.Text = String.Empty; }
在 C# 中,必须为按钮单击添加一个事件处理程序。 可以将此代码放在 InsertTextControl 构造函数中 IntializeComponent 调用的后面。 有关创建事件处理程序的信息,请参见如何:在 Office 项目中创建事件处理程序。
public InsertTextControl() { InitializeComponent(); this.addText.Click += new EventHandler(addText_Click); }
添加用于显示操作窗格的代码
若要显示操作窗格,请将您创建的控件添加到控件集合中。
显示操作窗格
在 ThisDocument 类中创建一个新的操作窗格控件实例。
Dim insertText As New InsertTextControl
private InsertTextControl insertText = new InsertTextControl();
将以下代码添加到 ThisDocument 的 Startup 事件处理程序中。
Me.ActionsPane.Controls.Add(insertText)
this.ActionsPane.Controls.Add(insertText);
测试应用程序
对文档进行测试,以验证在打开文档时操作窗格也同时打开,并确保单击相应按钮时将已键入文本框中的文本插入到书签中。
测试文档
按 F5 运行项目。
确认操作窗格可见。
在操作窗格的文本框中键入姓名和地址,然后单击**“插入”**。
后续步骤
下一步可能要执行以下几项任务:
在 Excel 中创建操作窗格。 有关更多信息,请参见如何:向 Excel 工作簿添加操作窗格。
将数据绑定到操作窗格上的控件。 有关更多信息,请参见 演练:将数据绑定到“Word 操作”窗格上的控件。
显示和隐藏操作窗格上的控件。 有关更多信息,请参见 演练:根据用户上下文更改操作窗格。