如何:为 Office 文档添加 Windows 窗体控件
更新: 2008 年 7 月
适用于 |
---|
本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。 文档级项目
应用程序级项目
有关更多信息,请参见按应用程序和项目类型提供的功能。 |
在文档级项目中,可以在设计时向 Microsoft Office Excel 和 Microsoft Office Word 文档中添加 Windows 窗体控件。在文档级自定义项和应用程序级外接程序中,可以在运行时添加控件。例如,可以向工作表添加一个 ComboBox 控件,以便用户可从选项列表中进行选择。
本主题介绍了以下任务:
在设计时添加控件
在运行时向文档级项目中添加控件
在运行时向应用程序级外接程序中添加控件
也可以向 Office 文档添加宿主控件,如 Bookmark 控件和 NamedRange 控件。有关更多信息,请参见 Word 宿主控件 和 Excel 宿主控件。
在设计时添加控件
可通过以下几种方法在设计时向文档级项目的文档中添加 Windows 窗体控件。
说明: |
---|
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您使用的 Visual Studio 版本及设置。有关更多信息,请参见Visual Studio 设置。 |
将 Windows 窗体控件拖动到文档中
在 Visual Studio 中创建或打开一个 Excel 工作簿项目或 Word 文档项目,使该文档显示在设计器中。有关创建项目的信息,请参见如何:创建 Visual Studio Tools for Office 项目。
在“工具箱”的“公共控件”选项卡中单击要添加的控件,然后将它拖动到文档中。
说明: 在 Excel 中选择一个控件时,“编辑栏”中将显示“=EMBED("WinForms.Control.Host","")”。此文本是必需的,不应删除。
在文档中绘制 Windows 窗体控件
在 Visual Studio 中创建或打开一个 Excel 工作簿项目或 Word 文档项目,使该文档显示在设计器中。有关创建项目的信息,请参见如何:创建 Visual Studio Tools for Office 项目。
在“工具箱”的“公共控件”选项卡中单击要添加的控件。
在文档中,单击希望控件左上角位于的位置,然后拖动到希望该控件右下角位于的位置。
控件按指定的位置和大小添加到文档中。
说明: 在 Excel 中选择一个控件时,“编辑栏”中将显示“=EMBED("WinForms.Control.Host","")”。此文本是必需的,不应删除。
通过单击控件向文档中添加 Windows 窗体控件
在 Visual Studio 中创建或打开一个 Excel 工作簿项目或 Word 文档项目,使该文档显示在设计器中。有关创建项目的信息,请参见如何:创建 Visual Studio Tools for Office 项目。
在“工具箱”的“公共控件”选项卡中单击要添加的控件
在文档中单击要添加控件的位置。
控件按默认大小添加到文档中。
说明: 在 Excel 中选择一个控件时,“编辑栏”中将显示“=EMBED("WinForms.Control.Host","")”。此文本是必需的,不应删除。
通过双击控件向文档中添加 Windows 窗体控件
在 Visual Studio 中创建或打开一个 Excel 工作簿项目或 Word 文档项目,使该文档显示在设计器中。有关创建项目的信息,请参见如何:创建 Visual Studio Tools for Office 项目。
在“工具箱”的“公共控件”选项卡中双击要添加的控件。
该控件被添加到文档或活动窗格的中央位置。
说明: 在 Excel 中选择一个控件时,“编辑栏”中将显示“=EMBED("WinForms.Control.Host","")”。此文本是必需的,不应删除。
通过按 Enter 键向文档中添加 Windows 窗体控件
在 Visual Studio 中创建或打开一个 Excel 工作簿项目或 Word 文档项目,使该文档显示在设计器中。有关创建项目的信息,请参见如何:创建 Visual Studio Tools for Office 项目。
在“工具箱”的“公共控件”选项卡中单击要添加的控件,然后按 Enter 键。
该控件被添加到文档或活动窗格的中央位置。
说明: 在 Excel 中选择一个控件时,“编辑栏”中将显示“=EMBED("WinForms.Control.Host","")”。此文本是必需的,不应删除。
在运行时向文档级项目中添加控件
可以在运行时以编程方式向文档中添加 Windows 窗体控件。在 Word 中,可以使用 ThisDocument 类的 Controls 属性的方法。在 Excel 中,可以使用 Sheetn 类 Controls 属性的方法。每个方法都有多个重载,使用这些重载,可以按不同的方式指定控件的位置。有关更多信息,请参见 Windows 窗体控件的帮助器方法。
如果在运行时向某个文档中添加 Windows 窗体控件,那么,在关闭该文档后,该控件将不会保留在文档中。您可以在下次打开文档时重新创建该控件。有关更多信息,请参见在运行时向 Office 文档添加控件。
在运行时添加 Windows 窗体控件
使用名称为 Add<控件类>(其中控件类 是要添加的 Windows 窗体控件的类名,如 AddButton)的 Microsoft.Office.Tools.Word.ControlCollection 方法(对于 Word 项目)或 Microsoft.Office.Tools.Excel.ControlCollection 方法(对于 Excel 项目)。
下面的代码示例演示在 Excel 文档级项目中,如何向 Sheet1 的单元格“C5”中添加 Button。
Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Startup Dim salesButton As Microsoft.Office.Tools.Excel.Controls.Button salesButton = Me.Controls.AddButton(Me.Range("C5"), "salesButton") salesButton.Text = "Calculate Total Sales" End Sub
private void Sheet1_Startup(object sender, System.EventArgs e) { Microsoft.Office.Tools.Excel.Controls.Button salesButton; salesButton = this.Controls.AddButton(this.get_Range("C5", missing), "salesButton"); salesButton.Text = "Calculate Total Sales"; }
在运行时向应用程序级外接程序中添加控件
可以在运行时以编程方式向任何打开的文档中添加 Windows 窗体控件。首先,生成一个基于所打开的文档或工作表的宿主项。然后,使用新宿主项的 Document.Controls 属性的方法(在 Word 中),或者使用新宿主项的 Worksheet.Controls 属性的方法(在 Excel 中)。每个方法都有多个重载,使用这些重载,可以按不同的方式指定控件的位置。有关更多信息,请参见 Windows 窗体控件的帮助器方法。
如果在运行时向某个文档中添加 Windows 窗体控件,那么,在关闭该文档后,该控件将不会保留在文档中。您可以在下次打开文档时重新创建该控件。有关更多信息,请参见在运行时向 Office 文档添加控件。
有关在应用程序级项目中生成宿主项的更多信息,请参见在运行时在应用程序级外接程序中扩展 Word 文档和 Excel 工作簿。
在运行时添加 Windows 窗体控件
使用名称为 Add<控件类>(其中控件类 是要添加的 Windows 窗体控件的类名,如 AddButton)的 Microsoft.Office.Tools.Word.ControlCollection 方法(对于 Word 项目)或 Microsoft.Office.Tools.Excel.ControlCollection 方法(对于 Excel 项目)。
下面的代码示例演示如何使用 Word 外接程序,向活动文档的第一段中添加 Button。
Dim salesButton As Microsoft.Office.Tools.Word.Controls.Button Dim extendedDocument As Document = Me.Application.ActiveDocument.GetVstoObject() extendedDocument.Paragraphs(1).Range.InsertParagraphBefore() salesButton = extendedDocument.Controls.AddButton( _ extendedDocument.Paragraphs(1).Range, 75, 18, "salesButton") salesButton.Text = "Calculate Sales"
Microsoft.Office.Tools.Word.Controls.Button salesButton; Document extendedDocument = this.Application.ActiveDocument.GetVstoObject(); extendedDocument.Paragraphs[1].Range.InsertParagraphBefore(); salesButton = extendedDocument.Controls.AddButton( extendedDocument.Paragraphs[1].Range, 75, 18, "salesButton"); salesButton.Text = "Calculate Sales";
请参见
任务
概念
修订记录
日期 |
修订历史记录 |
原因 |
---|---|---|
2008 年 7 月 |
增加了向应用程序级外接程序的文档中添加控件的操作过程。 |
SP1 功能更改。 |