Trong nhiều trình xử lý văn bản, tác giả có thể gọi ra tài liệu bằng dấu ngoặc kép. Ví dụ, lần đầu tiên một thuật ngữ được giới thiệu, tác giả có thể đặt thuật ngữ đó trong dấu ngoặc kép. Tuy nhiên, trong Word, bạn có thể gọi thông tin bằng chữ in nghiêng. Việc thay đổi tài liệu được trích dẫn thành chữ nghiêng theo cách thủ công có thể rất tốn thời gian.

Macro sau, QuotesToItalics, kiểm tra đoạn hiện tại để tìm tài liệu được trích dẫn. Nếu có, nó sẽ xóa các dấu ngoặc kép và thay đổi văn bản giữa các dấu ngoặc kép thành chữ nghiêng. Nếu các dấu ngoặc kép không cân đối (có một dấu ngoặc kép mở hoặc đóng mà không có dấu ngoặc kép đóng hoặc mở tương ứng), thì dấu ngoặc kép bị bỏ qua và không thực hiện thay đổi. Macro hoạt động với dấu ngoặc kép thông thường hoặc dấu ngoặc kép thông minh.

Sub QuotesToItalic()

Dim Redo As Boolean     Dim Ptr As Integer     Dim Ptr1 As Integer     Dim P As String     Dim P1 As String

If Selection.ExtendMode Then Exit Sub     Redo = True     While Redo         Selection.StartOf Unit:=wdParagraph, Extend:=wdMove         Selection.MoveEnd Unit:=wdParagraph         P = Selection.Text         Ptr = InStr(P, Chr(34))

If Ptr = 0 Then Ptr = InStr(P, Chr(147))

If Ptr > 0 Then             Selection.MoveLeft Unit:=wdCharacter, Extend:=wdMove             Selection.MoveRight Unit:=wdCharacter, Count:=Ptr             Selection.MoveEnd Unit:=wdParagraph             P1 = Selection.Text             Ptr1 = InStr(P1, Chr(34))

If Ptr1 = 0 Then                 Ptr1 = InStr(P1, Chr(148))

EndChar = Chr(148)

Else                 EndChar = Chr(34)

End If             If Ptr1 > 0 Then                 Selection.MoveLeft Unit:=wdCharacter, Count:=2, _                   Extend:=wdMove                 Selection.Delete Unit:=wdCharacter                 Selection.MoveRight Unit:=wdCharacter, _                   Count:=Ptr1 - 1, Extend:=wdExtend                 Selection.Font.Italic = True                 Selection.MoveRight Unit:=wdCharacter, Extend:=wdMove                 Selection.Delete Unit:=wdCharacter             Else                 Selection.MoveRight Unit:=wdCharacter, Extend:=wdMove                 Redo = 0             End If         Else             Selection.MoveRight Unit:=wdCharacter, Extend:=wdMove             Redo = 0         End If     Wend End Sub

_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 (264) á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: