Khi bạn đang làm việc với những người khác trong công ty của mình hoặc có thể với một nhóm khách hàng, bạn có thể muốn tạo một tệp được cá nhân hóa cho từng khách hàng. Mặc dù có thể là tốt nhất để tạo bằng cách sử dụng phối thư, nhưng nếu nhu cầu cá nhân hóa của bạn thấp, có một cách dễ dàng hơn. Bắt đầu bằng cách tạo một tệp văn bản thông thường có chứa tên của những người sẽ nhận tài liệu của bạn, một tên trên mỗi dòng. Sau đó macro sẽ nhồi tên vào tiêu đề của tài liệu và lưu tài liệu đó dưới tên của người đó. Do đó, nếu tệp văn bản của bạn có mười lăm người trong đó, bạn sẽ có mười lăm bản sao của tài liệu, mỗi người một bản. Mỗi mục sẽ được cá nhân hóa với tên của cá nhân trong tiêu đề. Quá trình thực hiện một tác vụ như vậy khá đơn giản: mở tệp văn bản, lấy tên, đặt tên đó vào tiêu đề, sau đó lưu tài liệu.

Một tên khác được lấy và quá trình này được lặp lại cho đến khi không còn tên nào nữa trong tệp. Macro sau thực hiện một quá trình như vậy:

Sub SaveNameFiles()

Dim sName As String     Dim sFile As String

Open "c:/names.txt" For Input As #5

On Error Resume Next     Do While Not EOF(5)

' get the name         Line Input #5, sName         sFile = sName & ".doc"

sFile = "c:\mypath\" & sFile

ActiveWindow.ActivePane.View.SeekView = _           wdSeekCurrentPageHeader         Selection.WholeStory         Selection.Delete         Selection.TypeText Text:=sName

ActiveWindow.ActivePane.View.SeekView = _           wdSeekMainDocument         ActiveDocument.SaveAs FileName:=sFile     Loop

Close #5

ActiveWindow.ActivePane.View.SeekView = _       wdSeekCurrentPageHeader     Selection.WholeStory     Selection.Delete     ActiveWindow.ActivePane.View.SeekView = _       wdSeekMainDocument End Sub

Phần phức tạp của macro là sử dụng thuộc tính .SeekView để chỉ định câu chuyện nào trong tài liệu bạn muốn làm việc. Như được triển khai ở đây, thuộc tính .SeekView được sử dụng nhiều lần để chuyển đổi giữa vùng tiêu đề và tài liệu chính. Cũng lưu ý rằng biến sFile chỉ định tên của tệp mà tài liệu được cá nhân hóa sẽ được lưu. Ngay sau khi tên được lấy từ tệp văn bản, biến sFile được xây dựng bằng cách thêm phần mở rộng tệp .doc và đường dẫn đến phía trước tên tệp. (Bạn nên thay đổi đường dẫn thành đường dẫn phù hợp với hệ thống của mình.) Thao tác lưu thực tế tương đối dễ dàng; phương thức .SaveAs được sử dụng với tên tệp. Đây là dòng mã dễ xảy ra lỗi nhất trong macro, vì một trong những tên được đọc từ tệp có thể bao gồm các ký tự không phù hợp với tên tệp hợp lệ. Nếu đúng như vậy, một lỗi sẽ được tạo ra và macro tiếp tục với dòng tiếp theo. Tuy nhiên, tài liệu sẽ không được lưu dưới tên vi phạm. Sau khi hoàn thành vòng lặp (lấy tên và lưu), vùng tiêu đề sẽ bị xóa và .SeekView được chuyển trở lại tài liệu chính.

_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 (195) áp dụng cho Microsoft Word 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Word (Word 2007 và sau này) tại đây: