Excel VBA存储SQL选择内容到剪贴板
我正在尝试在Excel中编写VBA代码(在UserForm中单击命令按钮时),以运行SQL查询并将结果存储到windows剪贴板。数据将是包含多个记录的一列 以下是我尝试的代码,但出现错误: 运行时错误“13”: 类型不匹配Excel VBA存储SQL选择内容到剪贴板,excel,vba,Excel,Vba,我正在尝试在Excel中编写VBA代码(在UserForm中单击命令按钮时),以运行SQL查询并将结果存储到windows剪贴板。数据将是包含多个记录的一列 以下是我尝试的代码,但出现错误: 运行时错误“13”: 类型不匹配 Private Sub CommandButton4_Click() Dim cn As Object 'Connection Dim rs As Object 'Recordset Dim vAry As Var
Private Sub CommandButton4_Click()
Dim cn As Object 'Connection
Dim rs As Object 'Recordset
Dim vAry As Variant 'Variant Array
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open "Driver={MySQL ODBC 5.3 Unicode Driver};server=10.0.0.2;" & _
"database=db uid=user; pwd=password;Port=3306"
rs.Open "Select Device_ID From returns Where Status = 'A';", cn
vAry = rs.GetRows
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
Set myData = New DataObject
myData.SetText vAry
myData.PutInClipboard
MsgBox ("data has been copied to clipboard")
End Sub
我通过添加/修改将数组变量转换为字符串的代码修复了错误:
Dim strData As String
For i = 0 To UBound(vAry, 2) - LBound(vAry, 2)
strData = strData & vAry(0, i) & vbCrLf
Next
Set myData = New DataObject
myData.SetText strData
myData.PutInClipboard
MsgBox ("data has been copied to clipboard")
您得到了什么错误?运行时错误“13”:类型不匹配。。。第行:myData.SetText vAryRecordSet.GetRows返回一个数组,而不是一个文本字符串。