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

2025-10-28 06:29:33

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

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

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

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

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

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

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

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

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

但是按照这样的范式一步一步操作的话,实在太麻烦了。

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

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

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

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

3、首先进行预备工作(编写宏),步骤:开发工具->代码->宏,宏的位置设置为“Normal.dotm(共用模板)”,然后点击创建,弹出Microsoft Visual Basic for Applications (VBA)界面。

注:若选项卡中没有开发工具,

参见:https://jingyan.baidu.com/article/19020a0a6acc5f529c28426e.html

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

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

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

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

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢