Excel 开发文档
这篇文章的例子采用 Office 2003 英文版。首先打开一个 Excel2003 程序,然后选择菜单 Help — Microsoft Excel Help, 如下图:
这样,右边会出现一个帮助子窗口,如下:
选择 Table of Contents ,会出现下图。
最后一行 Microsoft Excel Visual Basic Reference 就是我们要找的文档。该文档基本描述了 Excel 的主要对象的属性和方法。
如果你安装了 MSDN FOR VS.NET 2005 英文版 , 你可以在下面的地址找到 Excel 的例子程序:
ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxsamples/l ocal/sampleexecutables/Technologies/Interop/Applications/Office/Excel.zip
MSND 也包含了一个专题: Office Solutions Development 。
Excel 的 Application 对象
概念
Application 对象代表的是 Excel 程序。 为了更好的理解 Application 是什么,我们可以先启动一个 Excel 程序 ,然后选择菜单栏最右边的关闭按钮,这样就可以关掉默认创建的空文档对象。 现在出现在我们眼前的就是 Application 对象:
Excel 是一个 MDI 程序。 MDI ( Mutiple Document Interface — 多文档界面)怎么理解呢?
熟悉微软历史悠久的 MFC 开发知识的程序员就知道:每一个 MDI 窗口应用程序都有一个主框架窗口,主框架 窗口可以拥有多 个子框架窗口 ,每个子框架窗口管理一个 Document 对象 ( 文档对象负责管理数据 ) 和一个 View 对象(视图对象负责显示数据,接受用户事件)。 实际上后来 MDI 概念只是代表一种风格,即一个主框架窗口允许同时显示多个子窗口 ,是否有 Document 对象已经不重要。
现在我们可以清楚地知道 Excel 的 Application 对象就代表了 MDI 风格窗口的主框架。
示例
示例的目的是描述如何使用多种语言来创建一个 Excel 程序。 为了简化篇幅, 如何使用 IDE 的内容不作详细描述。
C# 代码
首先创建一个 C# 的 Console 工程。我这里使用的总是 Visual Studio.net 2005 英文版。 然后右键选择工程,选择 Add Reference ,在弹出的对话框中选择 COM 一栏,选中如下的组件:
请注意下面的代码:
using System.Reflection; // For Missing.Value and BindingFlags
using System.Runtime.InteropServices; // For COMException
using Microsoft.Office.Interop.Excel;
namespace ExcelApplicationSample
{
class Program
{
static void Main ( string [] args)
{
try
{
Application app = new Application ();
app.Visible = true ;
app.Quit();
app=null; // 这句话可以使垃圾回收器关闭Excel进程
}
catch ( COMException e)
{
Console .WriteLine(e.Message);
}
}
}
}
Application app = new Application (); 创建了一个Excel的Application对象。 app.Visible = true ; 设置窗口状态为显示。 app .Quit(); 关闭Application对象。注意,如果出错会抛出COMException异常。 如果我们将断点放在app.Quit()这一行,我们会看到程序会打开一个只有主框架的Excel程序。就像前面的图示一样。
C++ 代码
创建一个 Win32 Console 工程 ExcelApplicationSampleCPlus 。然后选择添加 ATL