VBA kết nối excel không sử dụng “ADODB.Connection”
Em có một file excel chạy VBA file này sẽ mở 1 file nên sao đó copy nội dụng vào file mới được tạo. Em muốn không sử dụng "ADODB.Connection" mà vẫn đọc và copy được file thì code như thế nào ạ.
Xin mọi người cho em code ví dụ ạ.
Em xin cảm ơn mọi người.
File mở rồi thì dùng Ado connection làm chi nữa. Cứ copy trực tiếp vào thôi.
Dưới đây là file đính kèm của em ạ.
Function GetExcelConnection(ByVal Path As String, Optional ByVal Header As Boolean = True) Dim StrConn As String, ObjConn As Object, Pro As String, Ext As String Set ObjConn = CreateObject("ADODB.Connection") If Application.Version < 12 Then Pro = "Provider=Microsoft.JET.OLEDB.4.0;" Ext = ";Extended Properties=""Excel 8.0;" Else Pro = "Provider=Microsoft.ACE.OLEDB.12.0;" Ext = ";Extended Properties=""Excel 12.0;" End If StrConn = Pro & "Data Source=" & Path & Ext & "HDR=" & IIf(Header, "Yes", "No") & ";IMEX=1"";" ObjConn.Open StrConn Set GetExcelConnection = ObjConnEnd Function
Thiết kế Tổng đãi ngộ (Total Rewards) theo khung SHRM
Khóa học “Thiết kế Tổng phần thưởng (Total Reward) chuẩn khung SHRM” giúp bạn nắm vững toàn bộ hệ thống đãi ngộ theo chuẩn...
Xem khóa họcFor i = 0 To UBound(Files)
n = 0: Erase title
Set ObjConn = GetExcelConnection(strPath & "" & Files(i), 1)
strRequest = "SELECT * FROM [" + strWordsheet + "$A1:AI10000]"
objRS.Open strRequest, ObjConn, 3, 1
For Each It In objRS.Fields
n = n + 1
ReDim Preserve title(1 To n)
title(n) = It.Name Next
ActiveWorkbook.Sheets("Sheet" & i + 2)..Resize(, n) = title
ActiveWorkbook.Sheets("Sheet" & i + 2)..CopyFromRecordset objRS
ObjConn.Close Next
Khi 1 dòng nước đã phiêu lưu 1000 bến lạ thì có bao giờ trở lại nhịp cầu đã lỡ 1 lần qua…
Chạy thôi. Nhìn mấy cái file ghê quá.
Bình luận