Christian có một thư mục chứa đầy các tệp DOC mà anh ấy cần chuyển đổi sang tệp DOCX. Anh ấy tự hỏi liệu có cách nào nhanh chóng để chuyển đổi chúng mà không cần mở và lưu từng cái một.

Microsoft không cung cấp chức năng này trong Word và họ cũng không cung cấp phần bổ trợ để thực hiện chuyển đổi. Tuy nhiên, bạn có thể tạo macro của riêng mình để thực hiện chuyển đổi. Một cách tiếp cận khá đơn giản được hiển thị ở đây:

Sub ConvertBatchToDOCX()

Dim sSourcePath As String     Dim sTargetPath As String     Dim sDocName As String     Dim docCurDoc As Document     Dim sNewDocName As String

' Looking in this path     sSourcePath = "c:\Users\Administrator\Desktop\Testing\"

sTargetPath = "c:\Users\Administrator\Desktop\Converted\"



' Look for first DOC file     sDocName = Dir(sSourcePath & "*.doc")

Do While sDocName <> ""

' Repeat as long as there are source files                  'Only work on files where right-most characters are ".doc"

If Right(sDocName, 4) = ".doc" Then             ' Open file             Set docCurDoc = Documents.Open(FileName:=sSourcePath & sDocName)



sNewDocName = Replace(sDocName, ".doc", ".docx")



With docCurDoc                 .SaveAs FileName:=sTargetPath & sNewDocName, _                   FileFormat:=wdFormatDocumentDefault                 .Close SaveChanges:=wdDoNotSaveChanges             End With         End If         ' Get next source file name         sDocName = Dir     Loop     MsgBox "Finished"

End Sub

Để sử dụng macro, bạn cần thực hiện hai thay đổi. Đầu tiên, chỉ định trong biến sSourcePath đường dẫn đầy đủ (theo sau là dấu gạch chéo ngược) đến thư mục chứa các tệp bạn muốn chuyển đổi.

Sau đó, trong biến sTargetPath, chỉ định đường dẫn đầy đủ (với dấu gạch chéo ngược ở cuối) của thư mục mà các tài liệu đã chuyển đổi sẽ được lưu trữ.

Sau đó, macro sẽ duyệt qua tất cả các tệp DOC mà nó tìm thấy trong thư mục nguồn, mở chúng và lưu chúng dưới dạng tệp DOCX trong thư mục đích.

Lưu ý rằng tôi đã đề cập đây là một cách tiếp cận đơn giản. Lý do là vì nó không kiểm tra lỗi trên công việc của nó. Ví dụ: nếu bạn chạy macro này hai lần liên tiếp, bạn sẽ gặp lỗi vì các tệp được lưu trong thư mục đích đã tồn tại. Hơn nữa, bạn nên hiểu rằng điều này chuyển đổi tất cả các tệp DOC thành tệp DOCX. Nói cách khác, nếu tệp gốc có các macro trong đó, các macro đó sẽ bị loại bỏ trong quá trình chuyển đổi.

Cuối cùng, hãy lưu ý rằng trung tâm của macro được chứa trong cấu trúc If / Then để kiểm tra để đảm bảo 4 ký tự ngoài cùng bên phải của tên tệp thực sự là “.doc”. Điều này được thực hiện do hành vi khá nghiêm trọng của hàm Dir trên một số hệ thống nơi tìm kiếm mẫu “* .doc” sẽ trả về khớp với bất kỳ tên tệp nào contains .doc. Điều này có nghĩa là nó cũng trả về các tệp kết thúc bằng .docx và .docm. Rõ ràng, chúng không nên được chuyển đổi, vì vậy cấu trúc If / Then được đưa vào để loại bỏ chúng.

Nếu bạn không muốn sử dụng macro của riêng mình, bạn có thể sử dụng các giải pháp của bên thứ ba. Trang sau trên trang của Graham Mayor có một phần bổ trợ miễn phí, trong số những thứ khác, sẽ thực hiện chuyển đổi tài liệu:

http://www.gmayor.com/document_batch_processes.htm

Bạn có thể tìm thấy các trình chuyển đổi tương tự khác bằng cách thực hiện tìm kiếm trên web cho “trình chuyển đổi doc docx” (không có dấu ngoặc kép).

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên các trang WordTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.

(Microsoft Word là phần mềm xử lý văn bản phổ biến nhất trên thế giới.) Mẹo này (643) áp dụng cho Microsoft Word 2007, 2010, 2013 và 2016.