码迷,mamicode.com
首页 > 编程语言 > 详细

Excel VBA宏 链接服务器 上传和下载数据

时间:2016-01-17 12:07:32      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:

  首先说明以下。
       第一: 下面的 “ _" 也就是 空格下划线 在VBA中表示换行的意思;& 表示链接连个字符串的操作,注意 & 的前后是否需要空格
      第二: 如果链接服务器,服务器名称,账号,密码,或者SQL语句有问题,都会报错说自动化错误。
       第三: 如果刚开始运行程序就显示”未定义对象错误“,那么你就需要 VBA界面的”工程--引用“中选择”Micsoft ActiveX data Objects 2.6“ 点击确定。  
 
 1 Sub 下载数据()
 2 
 3 Dim lastRow As Long, lastColumn As Long
 4 lastRow = ActiveSheet.UsedRange.Rows.Count
 5 lastColumn = ActiveSheet.UsedRange.Columns.Count
 6 
 7 MsgBox Split(Range("A1")(1, lastColumn).Address, "$")(1)
 8 
 9 If lastRow > 2 Then
10     Range("a3:BL999") = "" 仅仅清空内容
11     Range("bo3:bo999") = ""
12     ActiveSheet.Rows("3:" & lastRow).Delete 清楚了内容包括格式
13 End If
14 MsgBox (Cells(10, 1).Value)
15     Dim conn As Object
16     定义变量
17     Set conn = CreateObject("ADODB.Connection") 建立ADODB连接对象
18     conn.ConnectionString = "Driver={sql server};" _
19                             & "server=你的服务器;" _
20                             & "uid=;pwd=;" _
21                             & "database=你的数据库;" _
22                             & "AutoTranslate=False"
23 conn.Open 打开了和SQL的链接
24 mySql = " SELECT * FROM [dbo].[LEAD] ORDER BY [月],[周]"  写自己的SQL查询语句
25 Set rsData = New ADODB.Recordset   定义一个可以保存sql查询的对象集
26 Set rsData = conn.Execute(mySql)   rsData.Open mySql, conn  可以实现相同的功能
27 Worksheets("Sheet1").Range("A3").CopyFromRecordset rsData --一次性写入从A3开始的sheet1 工作中
28 Range("A3").CopyFromRecordset rsData 写出到当前激活的sheet中从A3开始
29 rsData.Close   养成好习惯,用完的东西要关闭哦~~~
30 Set rsData = Nothing
31 conn.Close
32 Set conn = Nothing
33 End Sub
 1 Sub 上传数据()
 2 MsgBox (Cells(10, 1).Value)
 3     Dim conn As Object
 4     Set conn = CreateObject("ADODB.Connection") 建立ADODB连接对象
 5     
 6     conn.ConnectionString = "Driver={sql server};" _
 7                             & "server=你的服务器;" _
 8                             & "uid=;pwd=;" _
 9                             & "database=你的数据库;" _
10                             & "AutoTranslate=False"
11 Dim Sql1 As String, Sql2 As String
12 conn.Open 打开了和SQL的链接
13 For i = 2 To 30
14         Sql = "INSERT INTO 表([V1],[V2]) VALUES (‘" & Cells(i, 1).Value & "‘,‘" & Cells(i, 2).Value & "‘)"
15               输出一条语句至文件
16     conn.Execute (Sql)  执行Sql 语句
17 Next
18 
19 养成好习惯,用完的东西要关闭哦~~~
20 conn.Close
21 Set conn = Nothing
22 End Sub

 

Excel VBA宏 链接服务器 上传和下载数据

标签:

原文地址:http://www.cnblogs.com/goodge/p/5136931.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!