位置:首页 > 软件操作教程 > 办公软件 > Word > 问题详情

学习教程:如何符号替换?

提问人:周丽平发布时间:2021-06-21

符号替换

写作的时候经常会出现这种情况:写作初期有些名称没有定下来,后期很可能要改。比如你文章中提出了一个算法,但是算法名字还没想好,文章中到处需要引用这个名字。与运算是用 & 还是 &&?更是有的时候遇到没节操的甲方,改来改去,改来改去,改来改去,改来改去,改来改去,改来改去……

LaTeX 解决这种问题的思路很简单,定义一个命令就好了,文章继续往下写,以后要改的话重新定义命令就好了。

\newcommand{\myalg}{NIMLE}

\newcommand{\AND}{\&{}}

...

This paper proposed a novel algorithm named \myalg. ...

0xFF \AND 0xEF ...

Word 也可以实现类似的功能。这里介绍一种利用域来实现这种符号定义的方法。

Word 中有各种各样的域,其中一种域叫做 DOCVARIABLE,语法格式为:

{ DOCVARIABLE sym }

域 DOCVARIABLE 的作用就是把变量 sym 显示出来。举个建国:ICS = “工业控制系统”,那么域 DOCVARIABLE 会将所有的 { DOCVARIABLE ICS } 替换成 ”工业控制系统“。

所以在 Word 中实现 LaTeX 中的宏替换功能需要以下几步:

1、在变量集合 Variables 中添加 ICS,并给其赋值;

2、按 Ctrl +F9 插入域,手动输入 DOCVARIABLE ICS。

相当的没有效率,被 LaTeX 甩几条街有木有。但是不用担心,Word 自有它的过人之处:VBA。下面介绍一种方法来简化这个过程。

点击菜单中的宏,如下图所示,宏名随便填,然后点击创建,如下图所示。

image.png

删除代码框中的所有代码,然后将下列代码复制进去。

Sub UpdateVariable()

' Clear variables

For Each Var In ActiveDocument.Variables

Var.Delete

Next

' Set the file path

Dim MyFile As Object

Set MyFile = CreateObject("Scripting.FileSystemObject")

Dim FilePath As String

FilePath = ActiveDocument.Path & "\Symbols.xlsx"

' If can't find the file, show error message and exit sub

If Not MyFile.FileExists(FilePath) = True Then

MsgBox "Can't find file: Symbols.xlsx", Title:="Error"

Exit Sub

End If

' Read the excel file "Symbols.xlsx"

Dim ExcelObject As Object

Set ExcelObject = GetObject(FilePath)

Set Table = ExcelObject.Sheets(1).UsedRange()

For i = 1 To Table.Rows.Count

V1 = Table.Cells(i, 1).Text

V2 = Table.Cells(i, 2).Text

ActiveDocument.Variables.Add Name:=V1, Value:=V2

Next

' Update field

ActiveDocument.Fields.Update

End Sub

Sub InsertSymbol()

' Show inputbox

Symbol = InputBox("Input symbol")

' Insert field

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _

PreserveFormatting:=False

' Insert parameter

Selection.TypeText Text:="DOCVARIABLE " & Symbol

' Update field

ActiveDocument.Fields.Update

End Sub

如下图所示

image.png

这样两个宏就创建好了,为了方便的调用,将这两个宏添加到工具栏中。打开自定义工具栏窗口。找到刚刚新建的两个宏,将他们添加到开始选项卡中(凭个人喜好,爱放哪放哪)。

image.png

然后重新设置他们的名字和图标,此步骤可省略,如下图所示。

image.png

这样这两个宏就被添加到工具栏中了,如下图所示。

image.png

为了配合这两个宏的使用,我们需要一个外部文件来储存各种变量和对应值。这里采用的是 Excel 文件。在当前 Word 文档的所在目录内,新建名为 Symbols.xlsx 文件,必须是这个名字,因为在上面的代码中被写死了,如果你想换个名字,要把这行代码一并改了。

FilePath = ActiveDocument.Path & "\Symbols.xlsx"

然后打开这个 Excel 文件,然后添加你要用到的符号,如下图所示。

image.png

左边一列是变量的名称,右面一列是变量的值。用法就是点击 Word 工具栏上的”更新符号“按钮,Word 会读取所有的变量值。如果想在某处插入作者,点击”插入符号“按钮,在弹出的对话框中填 ”AU“,然后点击确定,如下图所示。

然后就出现你事先在 Excel 中定义好的内容了,如下图所示。

image.png

如果后期想修改符号,只需要在 Excel 中统一修改,保存后点击 Word 工具栏上的”更新符号“按钮,Word 中所有的 DOCVARIABLE 域都会更新。

继续查找其他问题的答案?

回复(0)
返回顶部