VB可将使用Object 数据类型对EXCEL对象进行引用。
Object 数据类型,Object 变量存储为 32 位(4
个字节)的地址形式,其为对象的引用。利用 Set 语句,声明为 Object
的变量可以赋值为任何对象的引用。
注意 虽然以 Object
类型声明的变量足以适应包含对各种对象的引用,但是绑定到变量引用的对象总是在晚期(运行时)绑定。要强迫在早期(编译时间)绑定的话,须将对象的引用赋值给用特定类名称声明的变量。
新建VB的EXE工程,使用如下代码在第一行第一列写入vb操作excel:
Option Explicit
Dim xlapp As Object
Dim xlBook As Object
Dim xlSheet As Object
Dim A As String
Private Sub Command1_Click()
Set xlapp = CreateObject("excel.application")
xlapp.Visible = True
Set xlBook = xlapp.Workbooks.Add
Set xlSheet = xlBook.worksheets(1)
A = "vb操作excel"
xlSheet.Cells(1, 1) = A
End Sub
'引用Microsoft Excel 11.0 object library
Dim EXCEL对象 As Excel.Application
Dim 工作薄 As Excel.Workbook
Dim 工作表 As Excel.Worksheet
Private Sub Form_Load()
Set EXCEL对象 = CreateObject("Excel.Application")
Set 工作薄 = EXCEL对象.Workbooks.Open("d:\11.xls")
Set 工作表 = 工作薄.Worksheets(1)
EXCEL对象.Visible = False
End Sub
Private Sub command1_Click()
Dim i As Integer
i = 1
Do While (Len(工作表.Cells(i, 1)) > 0) '在vb里面,整数的操作要比字符串的操作速度快得多,所以这里最好不用 工作表.Cells(i, 1)="" 进行判断
i = i + 1
Loop
工作表.Cells(i, 1) = text1
工作薄.SaveAs ("d:\11.xls")
工作薄.Close
EXCLE对象.Quit
Set EXCLE对象 = Nothing
MsgBox "数据写入完成!", 48
End Sub
'在工程中添加对Excel的引用
Dim xlsApp As Excel.Application
Dim xlsBook As Excel.Workbook
Private Sub Command1_Click()
Dim I As Integer
Set xlsApp = Excel.Application
xlsApp.Visible = False
Set xlsBook = xlsApp.Workbooks.Open("D:\11.xls")
I = 1
Do While xlsApp.Sheets(1).cells(I, 1) <> ""
I = I + 1
Loop
xlsApp.Sheets(1).cells(I, 1) = Text1.Text
xlsBook.Close (True)
xlsApp.Quit
Set xlsApp = Nothing
MsgBox "数据写入成功!"
End Sub