在许多文字处理程序中,作者可能会用引号将材料标注出来。例如,第一次引入术语时,作者可以将该术语用引号引起来。但是,在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

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(9502)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里: