Trong những năm qua, công ty của Phillip đã phát triển hàng nghìn hàng nghìn tài liệu Word. Gần đây, họ đã thay đổi cơ sở hạ tầng mạng của mình để sử dụng các máy chủ khác nhau và nâng cấp máy tính cho mọi người trong bộ phận của Phillip. Khi ai đó mở một trong những tài liệu đã có từ trước đó, nó sẽ tìm kiếm một mẫu đã tồn tại trong cơ sở hạ tầng cũ, nhưng không còn nữa. Điều này có nghĩa là tài liệu sẽ mất nhiều thời gian để mở, sau thời điểm đó họ có thể thay đổi tham chiếu mẫu xấu. Nếu Phillip phải mở từng tài liệu cũ thì sẽ mất nhiều ngày để làm điều đó, vì vậy anh ấy tự hỏi liệu có cách nào để thay đổi các tham chiếu mẫu hiệu quả hơn mà không cần phải mở từng tài liệu hay không.

Đây có thể là một điều phiền toái thực sự — có một số điều tồi tệ hơn (trong văn phòng)

hơn là nhìn chằm chằm vào màn hình máy tính, đợi một số quá trình kết thúc.

Điều đang xảy ra là Word nghĩ rằng các mẫu của bạn ở một vị trí cụ thể và nó yêu cầu Windows lấy mẫu tại vị trí đó.

Windows cố gắng (và cố gắng và cố gắng) tuân thủ, liên tục tìm kiếm vị trí. Mỗi lần thử đều hết thời gian và tổng thời gian dành cho nỗ lực vô ích này là khá đáng chú ý.

Một giải pháp sẽ là sử dụng macro để tải từng tài liệu trong một thư mục và thay đổi mẫu được đính kèm với tài liệu đó. Sau đây là một ví dụ về macro như vậy:

Sub BatchTemplateChange()

Dim sPathToTemplates As String     Dim sPathToDocs As String     Dim sDoc As String     Dim dDoc As Document     Dim sNewTemplate As String     Dim i As Long

On Error Resume Next     Application.ScreenUpdating = False

sNewTemplate = "normal.dotx"         'new template name     sPathToDocs = Options.DefaultFilePath(wdDocumentsPath) & "\"

sPathToTemplates = Options.DefaultFilePath(wdUserTemplatesPath) & "\"



sDoc = Dir(sPathToDocs & "*.doc")



While Len(sDoc) <> 0         Set dDoc = Documents.Open(FileName:=sPathToDocs & sDoc)

dDoc.AttachedTemplate = sPathToTemplates & sNewTemplate         dDoc.Close wdSaveChanges         sDoc = Dir         i = i + 1     Wend

Application.ScreenUpdating = True     MsgBox "Finished: " & i & " documents changed"

End Sub

Lưu ý rằng macro tải từng tài liệu ở vị trí tài liệu mặc định, nhưng điều đó không nhất thiết phải tăng tốc độ tải. Lợi ích của việc sử dụng macro là bạn có thể bắt đầu chạy và cho phép nó hoạt động trong khi bạn không sử dụng máy tính.

Các ý tưởng bổ sung cho cách tiếp cận chương trình có thể được tìm thấy trong bài viết sau, có thể hữu ích cho một số độc giả:

http://www.edugeek.net/forums/scripts/35199-vba-script-change-word-document-template-location.html

_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 (11405) áp dụng cho Microsoft Word 2007, 2010, 2013, 2016, 2019 và Word trong Office 365. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Word tại đây: