北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
代码如下
Private Sub cmdOK_Click()
On Error GoTo out_Excel_Err
'方法二,将Access表中的数据写入到Excel报表相对应的单元格
'需要引用DAO 3.6 和Microsoft EXCEL 9.0 或Microsoft EXCEL 11
Dim ExcelApp As Excel.Application
Dim Book As Excel.Workbook
Dim ws As Worksheet
DoCmd.SetWarnings False
Dim xlsPath As String
xlsPath = "F:\proessMIS\Daily Report"
Set ExcelApp = New Excel.Application
'打开指定的Sheet表
Set ws = ExcelApp.Workbooks.Open(xlsPath).Worksheets("Working Book工作表")
'生成daily actual表 daily actual表
DoCmd.OpenQuery "qryday actual", acViewNormal
Dim rst1 As DAO.Recordset
Dim rst2 As DAO.Recordset
'检测Excel文件是否存在,如果不存在则提醒
If Dir(xlsPath) = "" Then
MsgBox "Daily Report.xls文件不存在,请将Excel文件与mdb文件放在同一目录下", vbCritical, "提示"
End
End If
Set rst1 = CurrentDb.OpenRecordset("day actual", dbOpenDynaset)
rst1.MoveFirst
Do Until rst1.EOF
' If rst1("销售分公司") = "柏林分公司" Then
' 'ws.cells(4,3)是指"报表2"工作表的第4行与第3列相交的单元格
' ws.Cells(4, 3) = rst1("累计销售")
' End If
' If rst1("销售分公司") = "北京分公司" Then
' ws.Cells(5, 3) = rst1("累计销售")
' End If
' If rst1("销售分公司") = "伦敦分公司" Then
' ws.Cells(6, 3) = rst1("累计销售")
' End If
' If rst1("销售分公司") = "纽约分公司" Then
' ws.Cells(7, 3) = rst1("累计销售")
' End If
' If rst1("销售分公司") = "汉城分公司" Then
' ws.Cells(8, 3) = rst1("累计销售")
' End If
ws.Cells(8, 5) = rst1("Tonnes Milled")
ws.Cells(9, 5) = rst1("TPH")
ws.Cells(10, 5) = rst1("CV6# Grade")
ws.Cells(11, 5) = rst1("COF Feed S")
ws.Cells(12, 5) = rst1("Solfide Sulfur %")
ws.Cells(13, 5) = rst1("Total Tailing Grade")
ws.Cells(15, 5) = rst1("Mill Run Time")
ws.Cells(16, 5) = rst1("CV6# Recovery")
ws.Cells(17, 5) = rst1("CV6# Gold Produced")
rst1.MoveNext
Loop
ExcelApp.Visible = True '显示EXCEL让操作员可以看得见,不然就只是在进程中而不可见
Set ExcelApp = Nothing
Set Book = Nothing
Set rst2 = CurrentDb.OpenRecordset("month actual", dbOpenDynaset)
rst2.MoveFirst
Do Until rst2.EOF
ws.Cells(8, 7) = rst2("Tonnes Milled")
ws.Cells(9, 7) = rst2("TPH")
ws.Cells(10, 7) = rst2("CV6# Grade")
ws.Cells(11, 7) = rst2("COF Feed S")
ws.Cells(12, 7) = rst2("Solfide Sulfur %")
ws.Cells(13, 7) = rst2("Total Tailing Grade")
ws.Cells(15, 7) = rst2("Mill Run Time")
ws.Cells(16, 7) = rst2("CV6# Recovery")
ws.Cells(17, 7) = rst2("CV6# Gold Produced")
rst2.MoveNext
Loop
ExcelApp.Visible = True '显示EXCEL让操作员可以看得见,不然就只是在进程中而不可见
Set ExcelApp = Nothing
Set Book = Nothing
out_Excel_Exit:
Exit Sub
out_Excel_Err:
MsgBox Error$
Resume out_Excel_Exit
End Sub
总是出错
我已经把文件放在一个目录里面了啊