Sub OPENSANDEXC()
Dim Conn As Object, Rst As Object
Dim sql As String, Path As String
Dim i As Integer, PathStr As String
Set Conn = CreateObject("ADODB.Connection")
Set Rst = CreateObject("ADODB.Recordset")
Path = "H:\應付賬款9月.xlsm" '要操作的工作薄路徑
Conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Path + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';" 'Office 07版本以上
'Conn.Open "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + Path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';" 'Office 07版本以下
sql = "select [編 碼],[名稱#] from [工作表1$]" '如果字段名中包含空格,在SQL語句中要用中括號括起來,如果有小數點(.),要用#號代替並用中括號括起來
Set Rst = Conn.Execute(sql)
For i = 0 To Rst.Fields.Count - 1 '字段
Cells(1, i + 1) = Rst.Fields.Item(i).Name
Next
Range("a2").CopyFromRecordset Rst '復制記錄集
Conn.Close
Set Conn = Nothing: Set Rst = Nothing
End Sub