关于Excel报表生成的问题,总是说 range 的_application方法失败,为什么呀

tiandiqing 2004-11-21 08:51:30
Private Sub Command1_Click()
'建立一个ado对象连接
Dim dataconn As ADODB.Connection
Dim datarec As ADODB.Recordset
Dim strsql As String

'若数据库连接出错,转向connectionErr

' On Error GoTo connectionErr

Set dataconn = New ADODB.Connection

dataconn.Open "driver={sql server};server=localhost;uid=sa;pwd=4414;database=pubs"


'建立数据库的连接
'若recordset 建立出错,则转向recordsetErr

' On Error GoTo recordsetErr
Set datarec = New ADODB.Recordset

strsql = "select au_lname,au_fname,phone,address,city from authors"
datarec.Open strsql, dataconn, adOpenKeyset, adLockOptimistic

If datarec.EOF Then
Exit Sub
End If

Dim excelappx As Excel.Application
Dim rowcount As Long
Dim columncount As Long
Dim tmpvalue As Variant

rowcount = 3

' On Error GoTo excelErr

'建立excel应用
Set excelappx = CreateObject("excel.application")

With excelappx
.Visible = True
'新增workbook
.Workbooks.Add (App.Path & "\authors.xlt")

'添加数据

Do Until datarec.EOF
'填充每一列

For columncount = 1 To datarec.Fields.Count
'定位到单元格
'//////就是下面的这句话出错!

excelappx.Range(excelappx.Cells(columncount, rowcount)).Select

'填充数据
excelappx.ActiveCell.Value = datarec.Fields(columncount - 1).Value

Next columncount

datarec.MoveNext
rowcount = rowcount + 1
Loop

excelappx.Range(excelappx.Cells(3, 1), excelappx.Cells(rowcount - 1, columncount - 1)).Borders.LineStyle = xlContinuous

'打印玉兰
'excelappx.Worksheets .PrintPreview

excelappx.DisplayAlerts = False

excelappx.Quit

End With
Exit Sub

connectionErr:
MsgBox "数据库连接错误!"
Exit Sub

recordsetErr:
MsgBox "记录集错误!"
dataconn.Close
Exit Sub

excelErr:
MsgBox "excel报表有错误!", Err.Description, vbCritical, "出错"
If Not excelappx Is Nothing Then excelappx.Quit
datarec.Close
dataconn.Close
Exit Sub
End Sub

...全文
162 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihonggen0 2004-11-22
  • 打赏
  • 举报
回复
当然不对,是一个范围,要指定两个单元格的


ExcelApp.Range(ExcelApp.Cells(1, 1), ExcelApp.Cells(1, 1)).Select


excelappx.Range(excelappx.Cells(columncount, rowcount),excelappx.Cells(columncount, rowcount)).Select
tiandiqing 2004-11-22
  • 打赏
  • 举报
回复
不对,填充摸班时候,不对!
ryq0000 2004-11-22
  • 打赏
  • 举报
回复
你要加入EXCEL對象才可以啊,我以前也出現過這樣的錯誤,加上就可以了,,,在引用項目中添加即可!!
tiandiqing 2004-11-22
  • 打赏
  • 举报
回复
我回去调试一下,通过马上给分!!!!
wsyyq 2004-11-21
  • 打赏
  • 举报
回复
up
rolleyuan 2004-11-21
  • 打赏
  • 举报
回复
up

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧