Cách chuyển đổi hàng loạt file Excel sang PDF, CSV,...

Bến Hà Trương2 năm trước

Như chúng ta đã biết, tính năng Save As của Microsoft Excel có thể lưu trang tính đang hoạt động dưới dạng tệp PDF, CSV,... Nhưng làm thế nào để lưu toàn bộ sổ làm việc dưới dạng tệp PDF trong Excel? Và điều gì sẽ xảy ra nếu bạn muốn lưu nhiều tệp Excel đồng thới dưới dạng cách fiel PDF riêng biệt? Còn thao tác để chuyển file excel sang CSV và ngược lại thì như thế nào?

Trong bài viết này, chúng ta sẽ tìm hiểu cách chuyển đổi hàng loạt file excel sang PDF, CSV,... và ngược lại.

Cách chuyển đổi file excel sang PDF

Chúng ta có thể chuyển đổi một tệp Excel sang tệp PDF với tính năng Save As trong Excel. Bạn có thể làm như sau:

1. Mở tệp Excel và nhấp vào File (hoặc nút Office) > Save As.

2. Trong hộp thoại Opening Save As, bạn cần:

  • Chọn một thư mục để lưu tệp PDF;
  • Đặt tên tệp PDF trong hộp File name;
  • Nhấp vào hộp Save As type và chọn PDF (* .pdf) từ danh sách thả xuống;
  • Nhấp vào nút Options.

hộp thoại Opening Save As

3. Trong hộp thoại Options, vui lòng check vào tùy chọn All và Entire workbook , sau đó nhấp vào nút OK .

hộp thoại Opening Save As

4. Nhấp vào nút Save trong hộp thoại Save As .

Như vậy, bản tính excel của bạn đã được lưu dưới dạng tệp PDF và được lưu trong thư mục được chỉ định.

Cách chuyển đổi hàng loạt file excel sang định dạng CSV với VBA

Trong Excel, chúng ta có thể chuyển đổi sổ làm việc thành tệp CSV bằng chức năng Save as, nhưng bạn có thể biết cách chuyển đổi hàng loạt nhiều tệp Excel thành các tệp CSV riêng biệt không? Trong bài viết này, tôi giới thiệu mã VBA để chuyển đổi hàng loạt tất cả các tệp Excel trong một thư mục sang tệp CSV trong Excel.

Để chuyển đồi hàng loạt file excel của một thư mục thành tệp CSV, bạn vui lòng thực hiện các bước sau:

1. Bật Excel và nhấn các phím Alt + F11 để mở cửa sổ Microsoft Visual Basic for Applications .

2. Nhấp vào  Insert > Module để tạo một Module mới.

3. Sao chép mã bên dưới và dán chúng vào cửa sổ Module mới.

VBA: Chuyển đổi hàng loạt tệp Excel sang CSV

Sub WorkbooksSaveAsCsvToFolder()
'UpdatebyExtendoffice20181031
Dim xObjWB As Workbook
Dim xObjWS As Worksheet
Dim xStrEFPath As String
Dim xStrEFFile As String
Dim xObjFD As FileDialog
Dim xObjSFD As FileDialog
Dim xStrSPath As String
Dim xStrCSVFName As String
 
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.Calculation = xlCalculationManual
    On Error Resume Next
Set xObjFD = Application.FileDialog(msoFileDialogFolderPicker)
    xObjFD.AllowMultiSelect = False
    xObjFD.Title = "Kutools for Excel - Select a folder which contains Excel files"
    If xObjFD.Show <> -1 Then Exit Sub
    xStrEFPath = xObjFD.SelectedItems(1) & "\"
 
    Set xObjSFD = Application.FileDialog(msoFileDialogFolderPicker)
 
    xObjSFD.AllowMultiSelect = False
    xObjSFD.Title = "Kutools for Excel - Select a folder to locate CSV files"
    If xObjSFD.Show <> -1 Then Exit Sub
    xStrSPath = xObjSFD.SelectedItems(1) & "\"
 
    xStrEFFile = Dir(xStrEFPath & "*.xls*")
 
    Do While xStrEFFile <> ""
        Set xObjWB = Workbooks.Open(Filename:=xStrEFPath & xStrEFFile)
        xStrCSVFName = xStrSPath & Left(xStrEFFile, InStr(1, xStrEFFile, ".") - 1) & ".csv"
        xObjWB.SaveAs Filename:=xStrCSVFName, FileFormat:=xlCSV
        xObjWB.Close savechanges:=False
        xStrEFFile = Dir
  Loop
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub


4. Nhấn phím F5 , chọn thư mục chứa các tệp Excel bạn muốn chuyển đổi sang tệp CSV trong hộp thoại bật lên đầu tiên.

chọn thư mục chứa các tệp Excel

5. Nhấp vào OK, sau đó trong hộp thoại bật lên thứ hai, chọn thư mục để đặt tệp CSV.
6. Nhấn OK, bây giờ các tệp Excel trong thư mục đã được chuyển đổi thành tệp CSV và được lưu trong một thư mục khác.

Cách chuyển đổi hàng loạt file CSV sang XLS(X) trong Excel

Để chuyển đổi tệp CSV sang tệp XlS hoặc XLSX rất dễ dàng cho bạn bằng cách áp dụng tính năng Lưu dưới dạng. Tuy nhiên, để chuyển đổi nhiều tệp CSV sang tệp XLS hoặc XLSX từ một thư mục rất tốn thời gian bằng cách lưu từng tệp một theo cách thủ công. Ở đây tôi giới thiệu một mã macro để nhanh chóng chuyển đổi hàng loạt tất cả các tệp CSV sang tệp XLS (x) từ một thư mục.
Để chuyển đổi nhiều tệp CSV từ một thư mục thành tệp XLS (X), bạn có thể thực hiện theo các bước sau:

1. Bật sổ làm việc mới, nhấn các phím Alt + F11 để mở cửa sổ Microsoft Visual Basic for Applications và nhấp vào Insert > Module. Xem ảnh chụp màn hình:
mở cửa sổ Microsoft Visual Basic for Applications

Lưu ý : Đảm bảo rằng tất cả các tệp CSV bạn muốn chuyển đổi đều được đóng.
2. Sau đó, dán mã macro bên dưới vào tập lệnh Module và nhấn phím F5 để chạy mã.
VBA: Chuyển đổi CSV sang XLS
Sub CSVtoXLS()
'UpdatebyExtendoffice20170814
    Dim xFd As FileDialog
    Dim xSPath As String
    Dim xCSVFile As String
    Dim xWsheet As String
    Application.DisplayAlerts = False
    Application.StatusBar = True
    xWsheet = ActiveWorkbook.Name
    Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
    xFd.Title = "Select a folder:"
    If xFd.Show = -1 Then
        xSPath = xFd.SelectedItems(1)
    Else
        Exit Sub
    End If
    If Right(xSPath, 1) <> "\" Then xSPath = xSPath + "\"
    xCSVFile = Dir(xSPath & "*.csv")
    Do While xCSVFile <> ""
        Application.StatusBar = "Converting: " & xCSVFile
        Workbooks.Open Filename:=xSPath & xCSVFile
        ActiveWorkbook.SaveAs Replace(xSPath & xCSVFile, ".csv"".xls", vbTextCompare), xlNormal
        ActiveWorkbook.Close
        Windows(xWsheet).Activate
        xCSVFile = Dir
    Loop
    Application.StatusBar = False
    Application.DisplayAlerts = True
End Sub

3. Trong hộp thoại bật ra, chọn thư mục được chỉ định chứa các tệp CSV bạn muốn chuyển đổi.

4. Nhấp vào OK , tất cả các tệp CSV trong thư mục đã chọn đã được chuyển đổi thành tệp XLS.

tất cả các tệp CSV trong thư mục đã chọn đã được chuyển đổi thành tệp XLS

Lưu ý: Nếu bạn muốn chuyển đổi tệp CSV sang tệp XLSX, bạn sử dụng mã VBA bên dưới.
VBA: Chuyển đổi tệp CSV sang XLSX

Sub CSVtoXLS()
'UpdatebyExtendoffice20170814
    Dim xFd As FileDialog
    Dim xSPath As String
    Dim xCSVFile As String
    Dim xWsheet As String
    Application.DisplayAlerts = False
    Application.StatusBar = True
    xWsheet = ActiveWorkbook.Name
    Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
    xFd.Title = "Select a folder:"
    If xFd.Show = -1 Then
        xSPath = xFd.SelectedItems(1)
    Else
        Exit Sub
    End If
    If Right(xSPath, 1) <> "\" Then xSPath = xSPath + "\"
    xCSVFile = Dir(xSPath & "*.csv")
    Do While xCSVFile <> ""
        Application.StatusBar = "Converting: " & xCSVFile
        Workbooks.Open Filename:=xSPath & xCSVFile
        ActiveWorkbook.SaveAs Replace(xSPath & xCSVFile, ".csv"".xlsx", vbTextCompare), xlWorkbookDefault
        ActiveWorkbook.Close
        Windows(xWsheet).Activate
        xCSVFile = Dir
    Loop
    Application.StatusBar = False
    Application.DisplayAlerts = True
End Sub

Hy vọng với bài viết này, bạn đã biết cách chuyển đổi hàng loạt các tệp excel sang định dạng PDF và CSV và ngược lại. Bên cạnh đó, để không bỏ lỡ những mẹo và thủ thuật tin học văn phòng hữu ích khác, hay tham gi Gitiho ngay hôm nay.

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông