论文中图一.1修改为图1.1

https://blog.sciencenet.cn/blog-241374-1024463.html

chatgpt3.5

前情提要

论文的标题格式要求为中文一、二、三但是在图的题注要使用1.1 、2.1这类 。word也有很多插件实现,当然大多数都需要付费。想到word中可以使用宏,便开始了宏的编写。

注意事项 \color{red}{注意事项} 注意事项

  1. 仅适用于"一.1"转为1.1的情况

  2. 打开的文件

    先备份 \color{red}{先备份} 先备份打开的文件,避免因word崩溃而使得文档丢失

  3. 刷新

    交叉引用可能不会立即刷新, 需要选中刷新域后按 F 9 进行刷新 {\color{red}{需要选中刷新域后按F9进行刷新}} 需要选中刷新域后按F9进行刷新 一般来说全选( C t r l + A )后按 F 9 {\color{green}{一般来说全选(Ctrl+A)后按F9}} 一般来说全选(Ctrl+A)后按F9即可。

  4. 如果你在文中除题注外使用了域代码{ STYLEREF 1 \s },请谨慎使用。

实现宏代码

实现方式

将原文中域代码{ STYLEREF 1 \s }修改为{QUOTE “一九一一年一月{ STYLEREF 1 \s }日” @“D”}即可将一.1修改为1.1。

宏代码

Sub ReplaceFieldCode()
'运行此宏前请先进行备份,有丢失文件的风险
'在论文中将一.1 修改为1.1
    Dim myField As Field
    Dim myRange As Range
    Dim searchCode As String
    Dim replaceCode As String
    Dim addCodeFields As String
    Dim addCode As String
    
    
    '查找域中的代码
    searchCode = " STYLEREF 1 \s "
    '替换并添加的代码
    replaceCode = "QUOTE ""一九一一年一月"
    addCodeFields = "1 \s"
    addCode = "日""\@""D"""
    test = replaceCode + addCode + addCodeFields + addCode
    For Each myField In ActiveDocument.Fields
        ' Check if the field code contains the search code
        If StrComp(myField.Code.Text, searchCode, vbBinaryCompare) = 0 Then
            Set myRange = myField.Code
            '添加域代码
            t = myRange.Fields.Add(myRange, wdFieldStyleRef, addCodeFields)
            '在域代码{之前添加文本
            t.MoveStart wdCharacter, -1
            t.InsertBefore replaceCode
            '在域代码}之后添加文本
            t.MoveEnd wdCharacter, 1
            t.InsertAfter addCode
            ' Update the field
            myField.Update
            ' Print the modified field code in the Debug window
            Debug.Print "Modified field code: " & myField.Code.Text
        End If
    Next myField
End Sub

如何使用宏

Excel和Word中怎么使用宏? - pimgeek的回答 - 知乎 https://www.zhihu.com/question/22007011/answer/20868711

https://blog.csdn.net/frozleaf/article/details/91785813

简而言之就是

仅打开需要修改的word ->视图->宏->查看宏

->创建宏-> 跳出的编辑窗口 ->复制此文中代码 ->将编辑窗口代码全部替换为本代码

->运行代码

如何验证域代码是否改变

  • 查看word中的宏代码

    Alt + F9

  • 添加域代码的括号

    Ctrl + F9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值