Chuyển đổi định dạng xlsb. sang xlsx.

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

sinh.le

Thành viên mới
Tham gia
14/6/23
Bài viết
2
Được thích
0
Hi, hiện tại mình đang sử dụng code VBA để convert tự động 1 folder khoảng 120 files định dạng xlsb. sang xlsx. để chạy data bằng Power Query. Vấn đề với cách làm này là code phải chạy khá lâu để mở từng file và save as sang định dạng khác.
Không biết còn cách nào khác nhanh hơn (chẳng hạn sử dụng software hoặc add-in cho Excel...) để thực hiện task này không ạ?
Xin chân thành cảm ơn.
 
Nếu convert sang CSV thì có nhanh hơn xlsx không?
 
Hi, hiện tại mình đang sử dụng code VBA để convert tự động 1 folder khoảng 120 files định dạng xlsb. sang xlsx. để chạy data bằng Power Query. Vấn đề với cách làm này là code phải chạy khá lâu để mở từng file và save as sang định dạng khác.
Không biết còn cách nào khác nhanh hơn (chẳng hạn sử dụng software hoặc add-in cho Excel...) để thực hiện task này không ạ?
Xin chân thành cảm ơn.
Bạn có thể vui lòng cho mọi người biết Code của bạn không?
 
Bạn có thể vui lòng cho mọi người biết Code của bạn không?
Code mình đang dùng đây ạ.
Mã:
Sub convertxlsbtoxlsx()
Dim vFileArray As Variant
Dim wkbkTemp As Workbook


Application.DisplayAlerts = False


vFileArray = Application.GetOpenFilename(MultiSelect:=True)
If IsArray(vFileArray) Then
    For i = LBound(vFileArray) To UBound(vFileArray)
        If Right(vFileArray(i), 5) = ".xlsb" Then
            Set wkbkTemp = Workbooks.Open(vFileArray(i))
            wkbkTemp.SaveAs Replace(vFileArray(i), "xlsb", "xlsx"), FileFormat:=xlOpenXMLWorkbook
            wkbkTemp.Close False
        Else
            MsgBox "This file: " & Chr(10) & vFileArray(i) & Chr(10) & "will not be processed."
        End If
    Next i
End If


End Sub
Bài đã được tự động gộp:

Nếu convert sang CSV thì có nhanh hơn xlsx không?
Mình có thử qua nhưng do CSV nặng hơn xlsx nên khi load khá lâu
 
Lần chỉnh sửa cuối:
PHP:
Sub abc()
Dim strSourceFile As String
Dim strSourceDirectory As String
Dim k As Long
Dim tg#:    tg = Timer
strSourceDirectory = "C:\Users\MY PC\Downloads\New folder1\" '<-----Change
strSourceFile = Dir(strSourceDirectory & "*.xlsb")
Do While strSourceFile <> ""
Name strSourceDirectory & strSourceFile As strSourceDirectory & Replace$(strSourceFile, ".xlsb", ".xlsx")
k = k + 1
strSourceFile = Dir()
Loop
MsgBox k & " files renamed.", , "Rename Files Complete"
 MsgBox Timer - tg & " Seconds!"
End Sub
@sinh.le:
Bạn thử code trên.
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom