大家好,我想把datagrid中显示的记录的记录导出到excel
我在module模块中加入以下代码
Public ExcelApp As Excel.Application
Public ExcelBook As Excel.Workbook
Public ExcelSheet As Excel.Worksheet
Public IsOpen As Integer'取值
Public Function GetExcelKey(r As Long, c As Long) As String
On Error GoTo SysErr
GetExcelKey = ExcelSheet.Cells(r, c)
Exit Function
SysErr:
MsgBox Error, vbInformation + vbOKOnly, ""
End Function
'设置背景颜色
Public Sub SetExcelColor(r As Long, c As Long, Color As Long)
On Error GoTo SysErr ExcelSheet.Cells(r, c).Interior.ColorIndex = Color
Exit Sub
SysErr:
MsgBox Error, vbInformation + vbOKOnly, ""
End Sub
'赋值
Public Sub SetExcelKey(r As Long, c As Long, str As String) On Error GoTo SysErr ExcelSheet.Cells(r, c) = str
Exit Sub
SysErr:
MsgBox Error, vbInformation + vbOKOnly, ""
End Sub'打开一个excel文档
Public Function OpenExcel(Fn As String) As Integer On Error GoTo SysErr
Set ExcelApp = CreateObject("excel.application")
ExcelApp.Visible = False
ExcelApp.SheetsInNewWorkbook = 1
If Dir(Fn, vbDirectory) <> "" Then
Set ExcelBook = ExcelApp.Workbooks.Open(Fn)
Else
Set ExcelBook = ExcelApp.Workbooks.Add
End If
Set ExcelSheet = ExcelBook.Worksheets(1)
IsOpen = 1
OpenExcel = 0
Exit Function
SysErr:
IsOpen = 0
OpenExcel = 1
MsgBox Error, vbInformation + vbOKOnly, "打开excel"
End Function
'保存当前文档
Public Sub SaveExcel()
On Error GoTo SysErr
If IsOpen = 0 Then Exit Sub
ExcelBook.Save
Exit Sub
SysErr:
MsgBox Error, vbInformation + vbOKOnly, ""
End Sub
'另存为当前文档
Public Sub SaveAsExcel(NewFn As String)
On Error GoTo SysErr
If IsOpen = 0 Then Exit Sub
ExcelBook.SaveAs NewFn
Exit Sub
SysErr:
MsgBox Error, vbInformation + vbOKOnly, ""End Sub
'关闭excel 文档
Public Sub QuitExcel()
On Error GoTo SysErr
IsOpen = 0
ExcelBook.Close
ExcelApp.Quit
Set ExcelApp = Nothing
Set ExcelBook = Nothing
Exit Sub
SysErr:
MsgBox Error, vbInformation + vbOKOnly, ""End Sub之后在窗体的按钮中加入以下调用代码
OpenExcel App.Path & "\发票表.xls" '打开模板如果没有找到模板会新建一个xls空文档
SetExcelKey rr, cc, "内容" ' rr行、cc列 写入内容'结束操作
SaveAsExcel App.Path
QuitExcel '关闭文档
在 SetExcelKey rr, cc, "内容" ' rr行、cc列 写入内容这里提示:ByRef argument type mismatch的错误,
应该怎么调用啊,谢谢
我在module模块中加入以下代码
Public ExcelApp As Excel.Application
Public ExcelBook As Excel.Workbook
Public ExcelSheet As Excel.Worksheet
Public IsOpen As Integer'取值
Public Function GetExcelKey(r As Long, c As Long) As String
On Error GoTo SysErr
GetExcelKey = ExcelSheet.Cells(r, c)
Exit Function
SysErr:
MsgBox Error, vbInformation + vbOKOnly, ""
End Function
'设置背景颜色
Public Sub SetExcelColor(r As Long, c As Long, Color As Long)
On Error GoTo SysErr ExcelSheet.Cells(r, c).Interior.ColorIndex = Color
Exit Sub
SysErr:
MsgBox Error, vbInformation + vbOKOnly, ""
End Sub
'赋值
Public Sub SetExcelKey(r As Long, c As Long, str As String) On Error GoTo SysErr ExcelSheet.Cells(r, c) = str
Exit Sub
SysErr:
MsgBox Error, vbInformation + vbOKOnly, ""
End Sub'打开一个excel文档
Public Function OpenExcel(Fn As String) As Integer On Error GoTo SysErr
Set ExcelApp = CreateObject("excel.application")
ExcelApp.Visible = False
ExcelApp.SheetsInNewWorkbook = 1
If Dir(Fn, vbDirectory) <> "" Then
Set ExcelBook = ExcelApp.Workbooks.Open(Fn)
Else
Set ExcelBook = ExcelApp.Workbooks.Add
End If
Set ExcelSheet = ExcelBook.Worksheets(1)
IsOpen = 1
OpenExcel = 0
Exit Function
SysErr:
IsOpen = 0
OpenExcel = 1
MsgBox Error, vbInformation + vbOKOnly, "打开excel"
End Function
'保存当前文档
Public Sub SaveExcel()
On Error GoTo SysErr
If IsOpen = 0 Then Exit Sub
ExcelBook.Save
Exit Sub
SysErr:
MsgBox Error, vbInformation + vbOKOnly, ""
End Sub
'另存为当前文档
Public Sub SaveAsExcel(NewFn As String)
On Error GoTo SysErr
If IsOpen = 0 Then Exit Sub
ExcelBook.SaveAs NewFn
Exit Sub
SysErr:
MsgBox Error, vbInformation + vbOKOnly, ""End Sub
'关闭excel 文档
Public Sub QuitExcel()
On Error GoTo SysErr
IsOpen = 0
ExcelBook.Close
ExcelApp.Quit
Set ExcelApp = Nothing
Set ExcelBook = Nothing
Exit Sub
SysErr:
MsgBox Error, vbInformation + vbOKOnly, ""End Sub之后在窗体的按钮中加入以下调用代码
OpenExcel App.Path & "\发票表.xls" '打开模板如果没有找到模板会新建一个xls空文档
SetExcelKey rr, cc, "内容" ' rr行、cc列 写入内容'结束操作
SaveAsExcel App.Path
QuitExcel '关闭文档
在 SetExcelKey rr, cc, "内容" ' rr行、cc列 写入内容这里提示:ByRef argument type mismatch的错误,
应该怎么调用啊,谢谢
解决方案 »
- 送分100分:令人费解的DATAREPORT。
- 在excel中用宏实现邮件发送,怎么避免讨厌的警告?
- VB中怎么获得打印对话框的参数(纸张大小)
- ListView中怎么锁定Item拖动(禁止拖放操作),Up有分
- 在线等待 100分 怎么将vb6.0编写的程序注册为系统服务(WinXP)
- 有二个access数据库,能不能把其中一个库里的一个表通过代码复制到另一个库里去。
- SQL语句中单引号,以及其他特殊符号如何处理?
- 请问大侠们,怎么实现这种常见的功能啊!
- 想送分:在VB中如何用sql-dmo来进行数据库的恢复,终止恢复(即用户在恢复过程中取消)
- 帮帮我这个菜鸟吧!
- 标准、窗体、类这三个模块的实现方式或者原理是啥?
- 关于EDB数据库的问题请教高手
Dim rr as Long,cc As Long
rr=...
cc=...
Private Sub LoadExport()If picView.Visible = False Then LoadViewDim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim xlQuery As Excel.QueryTableSet xlBook = xlApp.Workbooks().Add
Set xlSheet = xlBook.Worksheets("sheet1")
Set xlQuery = xlSheet.QueryTables.Add(rsLoadAdd, xlSheet.Range("a1 "))With xlQuery
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
End WithxlQuery.FieldNames = True
xlQuery.Refresh
cmdlg.Flags = 2
cmdlg.Filter = "EXCEL文档(*.xls)"
cmdlg.ShowSaveIf cmdlg.FileName <> "" Then
xlApp.DisplayAlerts = False
xlBook.SaveAs FileName:=cmdlg.FileName If MsgBox("导出成功,是否打开查看?", vbOKCancel, "导出EXCEL") = vbOK Then
xlApp.Workbooks().Open cmdlg.FileName
xlApp.Visible = True
Else
xlApp.Quit
End If
End If
If xlApp <> Null Then Set xlApp = NothingEnd Sub
-----------------------------
我是猴嫂派来监视猴哥的...
将If picView.Visible = False Then LoadView去掉-----------------------------
我是猴嫂派来监视猴哥的...
LoadExport
End Sub
这样调用显示错误:invalid procedere call or argument,应该怎么办啊