vb操作Excel
*************一个标准的
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open("d:/vbExcel.xls") '打开已经存在的EXCEL工件簿文件
xlApp.Visible = True '设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets("Sheet1") '设置活动工作表
'xlSheet.Cells(Row, Col) = 值 '给单元格(row,col)赋值
xlSheet.Cells(5, 5) = "Neok"
xlSheet.PrintOut '打印工作表
xlBook.Close (True) '关闭工作簿
xlApp.Quit '结束EXCEL对象
Set xlApp = Nothing '释放xlApp对象
xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏
xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏
**********************
启动 Excel
Dim objExcel As Excel.Application
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True'设置EXCEL对象可见(或不可见)
创建有一个工作表的工作簿
Dim objWorkBook As Excel.WorkBook
objExcel.SheetsInNewWorkbook = 1
Set objWorkbook = objExcel.Workbooks.Add
打开已经存在的 EXCEL 工件簿文件
Set objWorkbook=objExcel.Workbooks.Open("文件名")
设置活动工作表
Dim objSheet As Excel.Worksheet
Set objSheet = objExcel.Worksheets("表名")
给单元格(row,col)赋值
objSheet.Cells(row, col) =值
给合并的单元格赋值,如(A3:A9)
objSheet.Range("A3:A9") =值
运行 EXCEL 宏
objWorkbook.RunAutoMacros ("宏名")
插入一行
objSheet.Rows("1:1").Insert Shift:=xlDown
保存 EXCEL 文件
objWorkbook.Save
另存为
objWorkbook.SaveAs("文件名")
关闭工作簿
objWorkbook.Close (True)
结束 EXCEL 对象
objExcel.Quit
如果要求在退出应用程序后EXCEL不提示用户是否保存已修改的
文件,则可使用如下语句:
objExcel.DisplayAlerts = False
objExcel.Quit
objExcel.DisplayAlerts = True
释放 objExcel 对象
Set objExcel = Nothing
注意: 在工程中运用 Excel 对象模型,必须引用 Excel Object Library
工程--> 引用 加入 Excel Object Library
在 VB 中操作 EXCEL 对象,如为可见,在操作中手式关闭 EXCEL
,而 VB 程序无法知道,如果此时使用 EXCEL 对象,则VB程序会产
生错误。形成 VB 程序无法完全控制 EXCEL 的状况,使得 VB 与
EXCEL 脱节。在编程时应注意加以防止出现出现这种情况。