arcgis直接用vba连接数据库输出excel,报错

PrivateSubUIButtonControl1_Click()DimpDocumentAsIDocumentDimpVBProjectAsVBProjectDims... Private Sub UIButtonControl1_Click()
Dim pDocument As IDocument
Dim pVBProject As VBProject
Dim strPath As String
Set pDocument = ThisDocument
Set pVBProject = pDocument.VBProject
strPath = pVBProject.FileName
strPath = Mid(strPath, 1, InStrRev(strPath, "\"))
Call ExporToExcel(strPath & "\..\..\..\data")

End Sub

Public Function ExporToExcel(ByVal strPath As String) As Boolean
Dim adoConn As New ADODB.Connection
Dim Rs_Data1 As New ADODB.Recordset
Dim xlApp As New Excel.Application
Dim xlBook As New Excel.Workbook
Dim xlSheet1 As New Excel.Worksheet
Dim strSQL As String
Dim lngRow As Long
Dim lngCol As Long
Dim lngTag As Long
On Error GoTo ErrorHandler
'打开一个数据库连接
adoConn.Open "[PROVIDER=MSDASQL.1];DRIVER=Microsoft Visual FoxPro

strSQL = "SELECT * FROM spcs27;"
'打开一个记录集
Rs_Data1.Open strSQL, adoConn, adOpenStatic, adLockReadOnly
xlApp.Visible = False
'新建一个Excel 对像
Set xlApp = CreateObject("Excel.Application")
'设置Sheet 的个数
xlApp.SheetsInNewWorkbook = 1
Set xlBook = xlApp.Workbooks().Add
Set xlSheet1 = xlBook.Worksheets("sheet1")
'重命名Sheet1
xlSheet1.Name = "spcs27"
'Excel 不可见
xlApp.Visible = False
If Not IsNull(Rs_Data1) Then
lngTag = 1
lngRow = 2
While Not Rs_Data1.EOF
If lngTag = 1 Then
For lngCol = 0 To Rs_Data1.Fields.Count – 1
'将Recordset 的字段名称写入Sheet 的单元格中
xlSheet1.Cells(1, lngCol + 1) = Rs_Data1.Fields(lngCol).Name
Next lngCol
lngTag = lngTag + 1
End If
If lngTag > 1 Then
For lngCol = 0 To Rs_Data1.Fields.Count – 1
'将Recordset 的字段值写入Sheet 的单元格中
xlSheet1.Cells(lngRow, lngCol + 1) = Rs_Data1.Fields(lngCol).Value
Next lngCol
End If
Rs_Data1.MoveNext
lngRow = lngRow + 1

Wend
End If
'Excel 可见
xlApp.Visible = True
'清除对像变量
Set xlApp = Nothing
Set xlBook = Nothing
Set xlSheet1 = Nothing
Rs_Data1.Close
Set Rs_Data1 = Nothing
ExporToExcel = True
Exit Function
ErrorHandler:
'出错处理
ExporToExcel = False
MsgBox Err.Description
End Function
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
阳光上的桥
2015-08-13 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65810
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
红色的地方弄到一行上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式