Làm nổi bật mỗi ký tự hàng nghìn (Microsoft Word)
Hakan cần một macro đếm các ký tự (không có dấu cách) trong một tài liệu word và đánh dấu mỗi chữ cái thứ 1000. Việc tạo một macro như vậy khá đơn giản — bạn chỉ cần lần lượt kiểm tra tất cả các ký tự trong tài liệu và chỉ đếm những ký tự không phải là dấu cách. Sau đây là một macro nhỏ đơn giản sẽ thực hiện điều đó:
Sub CountThousands1() Dim J As Long Dim X As Integer X = 0 With ActiveDocument For J = 1 To .Characters.Count If .Characters(J) <> " " Then X = X + 1 If X = 1000 Then .Characters(J).Select Selection.Range.HighlightColorIndex = wdYellow X = 0 Beep End If Next J End With End Sub
Macro đủ đơn giản; nó kiểm tra bộ sưu tập Ký tự, chứa tất cả các ký tự riêng lẻ trong một tài liệu. Vấn đề với macro là nó rất chậm – rất chậm. Word không hiệu quả lắm trong việc kiểm tra các ký tự riêng lẻ theo cách này. (Có vẻ như mỗi khi bạn tham chiếu đến một thành viên của bộ sưu tập Ký tự, Word cần phải kiểm tra lại tất cả các ký tự từ đầu tài liệu.)
Một cách tiếp cận khác là chỉ cần lướt qua tài liệu, mở rộng vùng lựa chọn cho đến khi bạn nhận được 1.000 ký tự không phải khoảng trắng.
Sub CountThousands2() Dim X As Integer Dim sRaw As String Dim sProc As String Selection.MoveRight Unit:=wdCharacter, Count:=1000, Extend:=wdExtend While Len(Selection) = 1000 sRaw = Selection sProc = Replace(sRaw, " ", "") X = 1000 - Len(sProc) While X > 0 Selection.MoveRight Unit:=wdCharacter, Count:=X, Extend:=wdExtend sRaw = Selection sProc = Replace(sRaw, " ", "") X = 1000 - Len(sProc) Wend Selection.Collapse Direction:=wdCollapseEnd Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend Selection.Range.HighlightColorIndex = wdYellow Selection.Collapse Direction:=wdCollapseEnd Selection.MoveRight Unit:=wdCharacter, Count:=1000, Extend:=wdExtend Wend End Sub
Bắt đầu macro này với điểm chèn ở đầu tài liệu. Sau đó, macro sẽ lấy một nghìn ký tự, gán lựa chọn đó cho một biến (sRaw), tạo một biến có tất cả các khoảng trắng bị xóa khỏi nó (sProc) và sau đó tính độ dài của sProc. Nếu nó nhỏ hơn 1.000, thì vùng chọn sẽ được mở rộng tuy nhiên nó ngắn hơn nhiều ký tự và quá trình này được lặp lại. Khi vùng chọn chứa 1.000 ký tự không phải khoảng trắng, thì phần đánh dấu được đặt và macro sẽ chuyển sang khối ký tự tiếp theo.
_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 (7871) á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: