در بسیاری از واژه پردازها، نویسنده ممکن است مطالبی را با علامت نقل قول صدا کند. به عنوان مثال، اولین باری که یک اصطلاح معرفی می شود، نویسنده ممکن است اصطلاح را در گیومه قرار دهد. اما در Word می توانید اطلاعات را با حروف کج فراخوانی کنید. تغییر دستی مطالب نقلشده به حروف کج میتواند بسیار زمانبر باشد.
ماکرو زیر، QuotesToItalics، پاراگراف فعلی را برای مطالب نقلشده بررسی میکند. در صورت وجود، نقل قول ها را حذف می کند و متن بین نقل قول ها را به حالت کج تغییر می دهد. اگر گیومهها نامتعادل باشند (یک علامت نقل قول باز یا بسته وجود دارد که علامت بسته یا باز مربوطه وجود ندارد)، علامت نقل قول نادیده گرفته میشود و هیچ تغییری ایجاد نمیشود. ماکرو با نقل قول های معمولی یا نقل قول های هوشمند کار می کند.
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