Truy cập các đoạn trong Macro (Microsoft Word)
Một trong những điều tiện lợi về lập trình macro VBA là ngôn ngữ này hướng đối tượng. Điều này có nghĩa là bạn có thể truy cập mọi phần của tài liệu bằng cách sử dụng các đối tượng và bộ sưu tập các đối tượng. Nói cách khác, bạn có thể thao tác các đoạn văn mà không cần phải chọn chúng.
Ví dụ, giả sử bạn muốn lần lượt truy cập từng đoạn của tài liệu và thực hiện một số xử lý trên văn bản trong đoạn đó.
Vì mỗi đoạn là một đối tượng riêng biệt trong tài liệu nên việc này tương đối dễ dàng. Tất cả các đối tượng đoạn văn đều có thể truy cập được như một phần của bộ sưu tập Đoạn văn. Đoạn mã sau sẽ thực hiện thủ thuật:
iParCount = ActiveDocument.Paragraphs.Count For J = 1 To iParCount sMyPar = ActiveDocument.Paragraphs(J).Range.Text [Add processing comments to manipulate sMyPar] ActiveDocument.Paragraphs(J).Range.Text = sMyPar Next J
Dòng đầu tiên của mã đặt iParCount bằng số đoạn văn trong tài liệu hiện tại. Vòng lặp bắt đầu từ dòng thứ hai sau đó thực hiện công việc chính trong macro. Dòng thứ ba đặt chuỗi sMyPar bằng văn bản trong đoạn được chỉ định. (Khi J bằng 1, bạn đang làm việc với đoạn đầu tiên. Khi J bằng 2, đó là đoạn thứ hai — và v.v.)
Sau khi quá trình xử lý sMyPar hoàn tất, dòng tiếp theo đặt văn bản tài liệu bằng văn bản đã sửa đổi trong chuỗi sMyPar.
Tuy nhiên, đoạn mã trên mất khá nhiều thời gian để chạy. Sẽ nhanh hơn nếu truy cập vào bộ sưu tập Đoạn văn bằng cách sử dụng vòng lặp Cho Mỗi, như được hiển thị ở đây:
For Each p In ActiveDocument.Paragraphs sMyPar = p.Range.Text [Add processing comments to manipulate sMyPar] p.Range.Text = sMyPar Next p
Bạn vẫn có thể làm cho mã của mình nhanh hơn nếu bạn chỉ thay đổi các đoạn văn nếu quá trình xử lý của bạn chỉ ra rằng cần phải thay đổi.
_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 (12177) áp dụng cho Microsoft Word 2007, 2010, 2013 và 2016. 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: