Office控件开发总结-Office 编程中的常见任务

1.1.     新建工作簿

通过 Microsoft Office Excel 中的 Workbooks 集合,可以创建新的工作簿并向新的工作簿中导入数据。但是,由于是以编程方式添加工作簿,因此该工作簿是本机 Microsoft.Office.Interop.Excel.Workbook 对象,并且不具有 Microsoft.Office.Tools.Excel.Workbook 宿主项增加的事件和数据绑定功能。

以下代码片段说明了使用 Workbooks 集合的 Add 方法创建新工作簿。

Excel.Workbook newWorkbook = this.Application.Workbooks.Add(missing);

1.2.     打开工作簿

Microsoft Office Excel 中的 Workbooks 集合使您能够使用所有打开的工作簿和打开工作簿。

以下代码片段说明了使用 Workbooks 集合的 Open 方法,传入工作簿的路径。

this.Application.Workbooks.Open(@"C:\YourPath\YourWorkbook.xls",

    missing, missing, missing, missing, missing, missing, missing,

    missing, missing, missing, missing, missing,missing, missing);

1.3.     保存工作簿

可以使用 Save 方法保存工作簿。如果工作簿以前没有保存过,则应该改为调用 SaveAs 方法,以便可以指定路径。如果没有显式路径,Microsoft Office Excel 会使用创建文件时为其指定的名称将文件保存在当前文件夹中。使用 SaveCopyAs 方法可以进行保存,且不会修改在内存中打开的工作簿。

以下代码说明了循环访问 Workbooks 集合,并调用每个工作簿的 Save 方法。

foreach (Excel.Workbook wkb in this.Application.Workbooks)

{

    wkb.Save();

}

以下代码片段说明了以 XML 格式将与项目关联的工作簿保存到指定位置。

this.SaveAs(@"C:\Book1.xml", Excel.XlFileFormat.xlXMLSpreadsheet,

    missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlNoChange,

    missing, missing, missing, missing, missing);

1.4.     关闭工作簿

通过使用 Close 方法,您可以关闭特定的 Workbook,并可选择指定是否应保存更改。如果 Workbook 从未保存过,则可以指定一个文件名。此外,如果 Workbook 将被路由给其他用户,则可以指定是否要将 Workbook 发送给下一个用户。

以下代码片段说明了如何关闭工作簿。

Globals.ThisWorkbook.Close(false, missing, missing);

1.5.     向工作簿添加新工作表

通过 Add 方法,可在工作簿中向工作表集合添加新的工作表。但是,以编程方式添加工作表时,新的工作表是包含本机 Excel 对象的本机 Microsoft.Office.Interop.Excel.Worksheet 对象,并且没有任何数据绑定功能、事件或代码。如果要添加 Microsoft.Office.Tools.Excel.Worksheet 宿主项,则应在设计时添加工作表。

以下代码片段说明了使用 Sheets 集合的 Add 方法。

Excel.Worksheet newWorksheet;

newWorksheet = (Excel.Worksheet)Globals.ThisWorkbook.Worksheets.Add(

    missing, missing, missing, missing);

1.6.     保护工作簿

通过 Protect Unprotect 方法,可对 Microsoft Office Excel 工作簿提供保护,使用户无法添加或删除工作表,并且还可以再取消对工作簿的保护。您可以选择指定一个密码,指示是否希望保护该结构(使用户无法移动表)以及指示是否希望保护工作簿的窗口。

保护工作簿并不会阻止用户编辑单元格。若要保护数据,您必须保护工作表。

以下代码片段说明了调用工作簿的 Protect 方法并包含一个密码。

this.Protect(getPasswordFromUser, missing, missing);

以下代码片段说明了调用 Unprotect 方法,如果需要,请传递一个密码。

this.Unprotect(getPasswordFromUser);

1.7.     向工作表添加 NamedRange 控件

Excel 中使用名称框向工作表添加 NamedRange 控件

1.         选择要包括在命名范围中的单元格。

2.         名称框中键入一个范围名称并按 Enter

使用工具箱向工作表添加 NamedRange 控件

打开工具箱,然后单击“Excel 控件选项卡。

1.         单击 NamedRange 并将其拖动到工作表中。

2.         随即出现添加 NamedRange”对话框。

3.         选择要包括在命名范围中的单元格。

4.         单击确定

以编程方式向工作表添加 NamedRange 控件

Sheet1 Startup 事件处理程序中插入以下代码,以将 NamedRange 控件添加到单元格“A1”中,并将其 Value2 属性设置为“Hello world!”

Microsoft.Office.Tools.Excel.NamedRange textInCell;

textInCell = this.Controls.AddNamedRange(this.get_Range("A1", missing), "cellText");

textInCell.Value2 = "Hello world!";

1.8.     向工作表添加 ListObject 控件

使用 Excel 2007 中的功能区

1.         插入选项卡上的组中,单击

2.         选择要在列表中包含的一个或多个单元格,然后单击确定

使用工具箱

1.         工具箱“Excel 控件选项卡中,将 ListObject 拖到工作表上。

2.         选择要在列表中包含的一个或多个单元格,然后单击确定

以编程方式将 ListObject 控件添加到工作表中

Sheet1 Startup 事件处理程序中,插入下列代码,以向单元格“A1”“A4”中添加 ListObject 控件。

Microsoft.Office.Tools.Excel.ListObject employeeData;

employeeData = this.Controls.AddListObject(this.get_Range("$A$1:$D$4", missing), "employees");

1.9.     打印工作表

PrintOut 方法使您能够打印指定的对象。您可以包含许多可选参数,其中包括要打印的页码范围、份数、打印前是否预览、要使用的打印机的名称、是否需要打印到文件、是否需要逐份打印以及要打印到的文件的名称。

打印工作表

以下代码片段说明了调用 Sheet1 PrintOut 方法,要求打印两份,并在打印前预览文档。

Globals.Sheet1.PrintOut(1, 1, 2, true, missing, missing, missing, missing);

打印前预览页面

以下代码片段说明了调用工作表的 PrintPreview 方法。

Globals.Sheet1.PrintPreview(missing);

posted @ 2011-10-11 18:44  至软  阅读(2497)  评论(0编辑  收藏  举报