Word中公式自动编号和交叉引用
来源:网络收集 点击: 时间:2024-02-18一般硕士论文的公式都是由公式和编号组成(公式居中,编号右对齐)如图所示。编号的格式为:(章节号.序号,有的连接号是“-”)。一种常用的方法就是,先输入公式,再在公式后面添加若干个空格,然后手动输入编号,最后将该行设置为右对齐并调整编号前的空格数,使公式看似居中。但是这种方法比较麻烦,且编号非常容易出现重复、漏掉等情况。为了解决这些问题,在这里提出了一种比较好的解决办法。

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

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

表格设置:第一列表格列宽12.8mm,文字居中;第二列列宽1.5mm,文字右对齐。再将整个表格右对齐。
4/5将表格上方的题注剪切并粘贴到第二列表格中,用括号括起来。在表格的第一列输入公式,将表格的边框全部去除。
5/5最终效果图如图所示,这样就可以使公式自动编号了,当需要引用时可采用交叉引用(引用的类型为:Formula)的方式进行(类似图表的引用)。
但是按照这样的范式一步一步操作的话,实在太麻烦了。

方法一的步骤实在太过复杂,方法二将方法一进行自动操作,这里将用到word中的宏。
2/7需要注意的是文章的一级标题使用的是样式中的“标题一”,且该样式中含有编号,如图所示。

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

将以下代码粘贴上去(第一行“示例插入公式”为宏名,可随意更改)。
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:=1
Selection.Columns.PreferredWidth = CentimetersToPoints(1.5) 第二列的宽度:1.5(可修改)
设置表格上下居中
Selection.Tables(1).Select
Selection.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/7在需要插入公式时,将光标放在需要插入公式处(一定要是空白行),进行以下步骤:开发工具-代码-宏,找到之前编写的宏“示例插入公式”,点击运行即可。
6/7这样就可以使公式自动编号了,当需要引用时可采用交叉引用(引用的类型为:Formula)的方式进行(类似图表的引用)。
7/7如果想修改章节号和序号之间的连接符,步骤如下:引用-题注-插入题注,弹出题注对话框,如图所示,标签选择“Formula”,点击“编号”,在弹出的“题注标号”对话框中的“使用分隔符”中选择所需的连接符,点击确定返回“题注编号”对话框,再点击关闭。

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_67733.html