读书人

VB6平台下调用SQL数据库至EXCEL打印

发布时间: 2012-01-10 21:26:50 作者: rapoo

求助:VB6平台下,调用SQL数据库至EXCEL打印,退出时,遇进程无法关闭问题

VB code
Dim objExcelSample As excel.ApplicationDim objWorkbook As excel.WorkbookDim objWorksheet As excel.WorksheetPrivate Sub Command2_Click()    '退出    objWorkbook.RunAutoMacros (xlAutoClose) '执行EXCEL关闭宏    objWorkbook.Close (True) '关闭EXCEL工作簿    objExcelSample.Quit '关闭EXCEL    Set objExcelSample = Nothing '释放EXCEL对象    Set objWorkbook = Nothing    Set objWorksheet = NothingEnd SubPrivate Sub Command4_Click()     '打印预览    Dim i As Integer        Set objExcelSample = New excel.Application    Set objWorkbook = objExcelSample.Workbooks.Open("d:\Temp\bb.xls")    Set objWorksheet = objWorkbook.Sheets("sheet1")    With Adodc1        .RecordSource = "select * from 客户信息"        .Refresh    End With'    If Dir("D:\temp\excel.bz") = "" Then               '判断EXCEL是否打开        Set objExcelSample = CreateObject("Excel.Application") '创建EXCEL应用类       objExcelSample.Visible = True                          '设置EXCEL可见        Set objWorkbook = objExcelSample.Workbooks.Open("D:\temp\bb.xls")    '打开EXCEL工作簿        Set objWorksheet = objWorkbook.Worksheets(1)            '打开EXCEL工作表    objWorksheet.Activate                              '激活工作表         objWorksheet.Cells(10, 10) = "abc"                  '给单元格1行驶列赋值        objWorkbook.RunAutoMacros (xlAutoOpen)             '运行EXCEL中的启动宏'    Else'        MsgBox ("EXCEL已打开")'    End If    i = 1    Do While Not Adodc1.Recordset.EOF  '填入数据库表数据        objWorksheet.Cells(i, 1) = Adodc1.Recordset.Fields(0).Name        objWorksheet.Cells(i, 2) = Adodc1.Recordset.Fields(1).Name        objWorksheet.Cells(i, 3) = Adodc1.Recordset.Fields(2).Name        objWorksheet.Cells(i, 4) = Adodc1.Recordset.Fields(3).Name        objWorksheet.Cells(i, 5) = Adodc1.Recordset.Fields(4).Name        objWorksheet.Cells(i, 6) = Adodc1.Recordset.Fields(5).Name        objWorksheet.Cells(i, 7) = Adodc1.Recordset.Fields(6).Name        Adodc1.Recordset.MoveNext        i = i + 1    Loop    objWorkbook.PrintPreview    Set objExcelSample = Nothing '释放EXCEL对象    Set objWorkbook = Nothing    Set objWorksheet = NothingEnd Sub



1、想实现退出自动清除bb.xls内容并保存(上面程序退出的时候,总提示保存),其中以下是bb.xls的VBA内容。

VB code
Sub auto_open() '打开End SubSub auto_close() '关闭  Dim i As Integer  Dim j As Integer    For i = 1 To 255    For j = 1 To 50      Sheet1.Cells(i, j) = ""    Next j  Next iEnd Sub



[解决办法]
http://download.csdn.net/detail/veron_04/1627060

读书人网 >VB

热点推荐