万维软件:包罗万象、做最全最安全的下载站!
您的位置:首页 > 教程资讯 > 软件教程 > 办公软件

一键将一篇文字中的所有弯角引号替换为直角引号

时间:2017-01-25 23:47:52来源:

为了解释「宏」的作用,我先举一个简单的例子。

【实例1】

把文中所有弯角引号替换为直角引号

我之前公司的剧本,和知乎的潮流一样,是用直角引号的。但有的编剧同事,比如@殷鉴老师,惯用的输入法没法方便地打出直角引号来,所以,只好在每次写完一集剧本后,「全部替换」一遍左引号,再「全部替换」一遍右引号。如果文中还有单引号,那就再分别「全部替换」左、右两种单引号。

使用宏的话,这个问题可以「一键解决」。只要在「宏」选项上选择「录制宏」,然后按照往日的顺序,操作那四次「全部替换」,然后在「宏」选项上选择「停止录制」,一个新的宏就诞生了。

宏按钮

如果开始录制的时候选择了「将宏指定到按钮」,则根据你的设置,Word的面板上会有一个该宏的按钮。

录制宏

如果选择的是「将宏指定到键盘」,则根据你的设置,该宏有一个特定的快捷键。

当你再想把一篇文字中的所有弯角引号替换为直角引号时,再也不需要进行那些繁琐的操作了,只要按一下你给这个宏设定的快捷键,所有替换工作就会自动完成。

它的本质就是把你的操作记录了下来,然后进行「重放」。

就像无色禅师送给郭襄的那对铁罗汉——那算得上一个记录了少林罗汉拳的「宏」。按一下快捷键,它们就把罗汉拳从头到尾打一遍。

真是简单得不能再简单了。

当然,你也可以不指定快捷方式,而是通过「查看宏」到宏列表中选择想要编辑或使用的宏。

在编辑界面中你会看到这个宏的代码,大致就是这样——

Sub 弯角引号替换为直角引号()

' 弯角引号替换为直角引号 宏

    Selection.Find.ClearFormatting

    Selection.Find.Replacement.ClearFormatting

    With Selection.Find

        .Text = ChrW(8220)

        .Replacement.Text = "「"

        .Forward = True

        .Wrap = wdFindContinue

        .Format = False

        .MatchCase = False

        .MatchWholeWord = False

        .MatchByte = True

        .MatchAllWordForms = False

        .MatchSoundsLike = False

        .MatchWildcards = False

        .MatchFuzzy = False

    End With

    Selection.Find.ClearFormatting

    Selection.Find.Replacement.ClearFormatting

    With Selection.Find

        .Text = "“"

        .Replacement.Text = "「"

        .Forward = True

        .Wrap = wdFindContinue

        .Format = False

        .MatchCase = False

        .MatchWholeWord = False

        .MatchByte = True

        .MatchAllWordForms = False

        .MatchSoundsLike = False

        .MatchWildcards = False

        .MatchFuzzy = False

    End With

    Selection.Find.Execute Replace:=wdReplaceAll

    With Selection.Find

        .Text = "”"

        .Replacement.Text = "」"

        .Forward = True

        .Wrap = wdFindContinue

        .Format = False

        .MatchCase = False

        .MatchWholeWord = False

        .MatchByte = True

        .MatchAllWordForms = False

        .MatchSoundsLike = False

        .MatchWildcards = False

        .MatchFuzzy = False

    End With

    Selection.Find.Execute Replace:=wdReplaceAll

    With Selection.Find

        .Text = "‘"

        .Replacement.Text = "『"

        .Forward = True

        .Wrap = wdFindContinue

        .Format = False

        .MatchCase = False

        .MatchWholeWord = False

        .MatchByte = True

        .MatchAllWordForms = False

        .MatchSoundsLike = False

        .MatchWildcards = False

        .MatchFuzzy = False

    End With

    Selection.Find.Execute Replace:=wdReplaceAll

    With Selection.Find

        .Text = "’"

        .Replacement.Text = "』"

        .Forward = True

        .Wrap = wdFindContinue

        .Format = False

        .MatchCase = False

        .MatchWholeWord = False

        .MatchByte = True

        .MatchAllWordForms = False

        .MatchSoundsLike = False

        .MatchWildcards = False

        .MatchFuzzy = False

    End With

    Selection.Find.Execute Replace:=wdReplaceAll

End Sub

事实上,如果你懒得录制宏,直接把这段代码复制粘贴到宏的编辑器里都行。

无相关信息
标签: