多语言展示
当前在线:370今日阅读:165今日分享:48

Word中公式自动编号和交叉引用

一般硕士论文的公式都是由公式和编号组成(公式居中,编号右对齐)。编号的格式为:(章节号.序号,有的连接号是“-”)。一种常用的方法就是,先输入公式,再在公式后面添加若干个空格,然后手动输入编号,最后将该行设置为右对齐并调整编号前的空格数,使公式看似居中。但是这种方法比较麻烦,且编号非常容易出现重复、漏掉等情况。为了解决这些问题,在这里提出了一种比较好的解决办法。
工具/原料

word2010

方法/步骤
方法一
1

首先需要注意的是文章的一级标题使用的是样式中的“标题一”,且该样式中含有编号,如图所示。

2

添加一个2X1的表格,再插入题注,题注设置如图所示。

3

表格设置:第一列表格列宽12.8mm,文字居中;第二列列宽1.5mm,文字右对齐。再将整个表格右对齐。

4

将表格上方的题注剪切并粘贴到第二列表格中,用括号括起来。在表格的第一列输入公式,将表格的边框全部去除。

5

最终效果图如图所示,这样就可以使公式自动编号了,当需要引用时可采用交叉引用(引用的类型为:Formula)的方式进行(类似图表的引用)。但是按照这样的范式一步一步操作的话,实在太麻烦了。

方法二
1

方法一的步骤实在太过复杂,方法二将方法一进行自动操作,这里将用到word中的宏。

2

需要注意的是文章的一级标题使用的是样式中的“标题一”,且该样式中含有编号,如图所示。

3

首先进行预备工作(编写宏),步骤:开发工具->代码->宏,宏的位置设置为“Normal.dotm(共用模板)”,然后点击创建,弹出Microsoft Visual Basic for Applications (VBA)界面。注:若选项卡中没有开发工具,参见:https://jingyan.baidu.com/article/19020a0a6acc5f529c28426e.html

4

将以下代码粘贴上去(第一行“示例插入公式”为宏名,可随意更改)。Sub 示例插入公式()' 示例插入公式 宏 (名字可以修改)'插入表格    Selection.ParagraphFormat.Alignment = wdAlignParagraphRight    ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1, NumColumns:= _        2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _        wdAutoFitFixed    With Selection.Tables(1)        If .Style <> '网格型' Then            .Style = '网格型'        End If        .ApplyStyleHeadingRows = True        .ApplyStyleLastRow = False        .ApplyStyleFirstColumn = True        .ApplyStyleLastColumn = False        .ApplyStyleRowBands = True        .ApplyStyleColumnBands = False    End With'设置表格列宽    Selection.Tables(1).Select    Selection.MoveLeft Unit:=wdCharacter, Count:=1    Selection.Columns.PreferredWidth = CentimetersToPoints(12.8)  '第一列的宽度:12.8(可修改)    Selection.Move Unit:=wdColumn, Count:=1Selection.Columns.PreferredWidth = CentimetersToPoints(1.5)  '第二列的宽度:1.5(可修改)'设置表格上下居中Selection.Tables(1).SelectSelection.Cells.VerticalAlignment = wdCellAlignVerticalCenter'去除表格边框    Selection.Tables(1).Rows.Alignment = wdAlignRowRight    With Selection.Tables(1)        .Borders(wdBorderLeft).LineStyle = wdLineStyleNone        .Borders(wdBorderRight).LineStyle = wdLineStyleNone        .Borders(wdBorderTop).LineStyle = wdLineStyleNone        .Borders(wdBorderBottom).LineStyle = wdLineStyleNone        .Borders(wdBorderVertical).LineStyle = wdLineStyleNone        .Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone        .Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone        .Borders.Shadow = False    End With    Selection.Style = ActiveDocument.Styles('题注')   '文字样式    Selection.ParagraphFormat.Alignment = wdAlignParagraphRight   '右对齐    Selection.MoveLeft Unit:=wdCharacter, Count:=1    Selection.Style = ActiveDocument.Styles('题注')   '文字样式'插入公式编号及调整位置    Selection.InsertCaption Label:='Formula', TitleAutoText:='InsertCaption2', _        Title:='', Position:=wdCaptionPositionAbove, ExcludeLabel:=1    Selection.MoveLeft Unit:=wdCharacter, Count:=3, Extend:=wdExtend    Selection.Cut    Selection.Delete Unit:=wdCharacter, Count:=1    Selection.MoveRight Unit:=wdCharacter, Count:=1    Selection.PasteAndFormat (wdFormatOriginalFormatting)    Selection.TypeText Text:=')'    Selection.HomeKey Unit:=wdLine    Selection.TypeText Text:='('    Selection.MoveLeft Unit:=wdCharacter, Count:=2    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter    End Sub

5

在需要插入公式时,将光标放在需要插入公式处(一定要是空白行),进行以下步骤:开发工具->代码->宏,找到之前编写的宏“示例插入公式”,点击运行即可。

6

这样就可以使公式自动编号了,当需要引用时可采用交叉引用(引用的类型为:Formula)的方式进行(类似图表的引用)。

7

如果想修改章节号和序号之间的连接符,步骤如下:引用->题注->插入题注,弹出题注对话框,如图所示,标签选择“Formula”,点击“编号”,在弹出的“题注标号”对话框中的“使用分隔符”中选择所需的连接符,点击确定返回“题注编号”对话框,再点击关闭。

推荐信息