首先我承认Excel是一款功能很强大的制表软件,并且它内嵌有一个独立的语言环境VBA,如果开发主题是围绕着Excel本身的,那么它现有的功能已经能应付很复杂的商业应用了。可事实上并非所有应用环境都能倚靠Excel独立去支持,就系统级别的应用而言,它还显得十分单薄。为此Mircrosoft开发了一套几乎涵盖Office所有产品的对象库,以类的形式封装了Office系列里大多数产品的接口,这些类是通用的,并不以所采用的开发语言而会有变化,微软在它绝大多数平台(从开发环境到应用环境)上始终奉行数据共享以及无缝连接这两大核心主题,这极大地扩展了基于微软产品的适应面,不管是否出于微软自身商业理由,总之对开发者而言,这总是一件值得欣慰的好事。
下面以VB为例阐述它与Excel互联的方法:
首先在工程菜单里引用Microsoft Excel 9.0 Object Library(以Office 2K为例)
接着做一些简单的初始化操作:
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim temp As String
Set xlApp = CreateObject("Excel.Application") 创建EXCEL应用类
Set xlBook = xlApp.Workbooks.Add
Set xlBook = xlApp.Workbooks.Open("c:cng.xls") 创建一个新的EXCEL工作簿
Set xlBook = xlApp.Workbooks.Open(App.path "mydata.xls") 打开一个旧的EXCEL工作簿
Set xlSheet = xlBook.Worksheets(1) 打开EXCEL工作表
xlSheet.Activate 激活工作表
With xlSheet
.Range("A3") = "Do you love me?" 在A3单元格写入
.Range("G3") = "Yes" 在G3单元格写入
temp = .Range("A3") 读取A3单元格的数据
End With
这是一个极其简单的例子,但通过它已经可以实现对Excel的读写操作了,至于具体应用,可以通过原有语言强大的算法去实现,这一点肯定是Excel本身所不能比拟的。