ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5350|回复: 30

[求助] 如何实现Word根据目录文件进行批量上下标?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-11-15 16:10 | 显示全部楼层 |阅读模式
单个文字的批量上下标很容量实现,不过实际工作中常常会遇见不同文字的上下标,逐一修改相当的麻烦。因为工作内容比较类似,每个项目的替换文字都差不多,最好是可以指定目录文件,让宏命令根据目录文件实现批量上下标。

word批量上下标.zip (50 KB, 下载次数: 52)

TA的精华主题

TA的得分主题

发表于 2018-11-16 22:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 cuteword 于 2018-11-16 22:49 编辑

WORD灵感百宝箱(腾讯软件中心中有下载:https://pc.qq.com/search.html#!k ... E%E5%AE%9D%E7%AE%B1)中有类似功能,需要自己设置。
无标题.png

TA的精华主题

TA的得分主题

发表于 2018-11-17 19:44 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-11-17 22:26 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-19 08:36 | 显示全部楼层
谢谢cuteword,这个功能WORD灵感百宝箱是可以实现。弱水三千,我只取一瓢饮,因为软件的很多功能我这暂时用不上,还是想得到如题的按目录上下标的宏。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-26 09:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
word版块的人气远不如excel版块,我自个悄悄的顶一下

TA的精华主题

TA的得分主题

发表于 2018-11-26 10:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub 批量上标test()
   
    '------------------------------------上面这部分主要是把原文字和上下标存入数组
    Dim doc As Document, rCount%, i%, n%
    Dim Str_Original() As String, Str_Superscript() As String, Str_Subscript() As String
    Set doc = ActiveDocument: n = 1
    rCount = doc.Tables(1).Rows.Count
    For i = 2 To rCount
        If doc.Tables(1).Cell(i, 1).Range.Text <> Chr(13) & Chr(7) Then
            ReDim Preserve Str_Original(1 To n)
            ReDim Preserve Str_Superscript(1 To n) '上标
            ReDim Preserve Str_Subscript(1 To n)   '下标
            Str_Original(n) = Split(doc.Tables(1).Cell(i, 1).Range.Text, Chr(13))(0)
            Str_Superscript(n) = Split(doc.Tables(1).Cell(i, 2).Range.Text, Chr(13))(0)
            Str_Subscript(n) = Split(doc.Tables(1).Cell(i, 3).Range.Text, Chr(13))(0)
            Debug.Print "原文字:" & Str_Original(n) & "," & "上标:" & Str_Superscript(n) & "," & "下标:" & Str_Subscript(n)
            n = n + 1
        End If
    Next i
   
    '------------------------------------下面这部分主要遍历组数,用查找替换的方式分别对字符串上下标
    Dim Str_Start&, Str_End&, Rng As Range
    For i = 1 To UBound(Str_Original)
        With doc.Content.Find
            .Text = Str_Original(i)
            Do While .Execute
                Str_Start = .Parent.Start: Str_End = .Parent.End
                If Str_Superscript(i) <> "" Then
                    Set Rng = doc.Range(Str_Start, Str_End)
                    With Rng.Find
                        .Text = Str_Superscript(i)
                        .Replacement.Font.Superscript = True
                        .Execute Replace:=wdReplaceAll
                    End With
                End If
                If Str_Subscript(i) <> "" Then
                    Set Rng = doc.Range(Str_Start, Str_End)
                    With Rng.Find
                        .Text = Str_Subscript(i)
                        .Replacement.Font.Subscript = True
                        .Execute Replace:=wdReplaceAll
                    End With
                End If
            Loop
        End With
    Next i
End Sub


想要指定或者批量对文件操作的话,自己改吧。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-11-26 11:32 | 显示全部楼层
原文字        上标        下标        替换文字
γ52(3)c        2(3)c        5        γ52(3)c
Jcr                cr        Jcr
Q4s        s        4        Q4s
Q4dl        dl        4        Q4dl
MPa-1        -1                MPa-1
10-1cm/s        -1                10-1cm/s
10-2cm/s        -2                10-2cm/s


这个表 可以放在excel上 用ado+sql来做。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-27 08:34 | 显示全部楼层
ming0018 发表于 2018-11-26 11:32
原文字        上标        下标        替换文字
γ52(3)c        2(3)c        5        γ52(3)c
Jcr  ...

谢谢ming0018的回复,“批量上标test”这个宏仅能实现在“Word批量上下标目录表”下对文字进行上下标,我是想根据“Word批量上下标目录表”来对“案例”文件进行上下标,有办法实现吗?

TA的精华主题

TA的得分主题

发表于 2018-11-27 08:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 19:41 , Processed in 0.050023 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表