ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何根据段首序号,选定不同的样式(样式已编辑好)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-12-29 17:30 | 显示全部楼层 |阅读模式
如何根据段首序号,选定不同的快速样式。例如“一、概述”、“二、详细说明”改为样式1,“1.价格问题”改为样式2;“(1)书报费”改为样式3.另外能否实现将“1.价格问题”段落首的“1.”改为“①”;“2.”改为“②”,依此类推。请大神帮忙看下

一、概述
二、详细说明
三、主要问题
1. 价格问题
(1)书报费
本次书报费暂定每人每月20元。请各单位将购买的书名、报纸名称分别进行统计。
2.份数问题

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-12-29 17:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
利用VBA自动调整成附件的格式

调整格式.zip

7.91 KB, 下载次数: 12

TA的精华主题

TA的得分主题

发表于 2018-12-29 21:57 | 显示全部楼层
本帖最后由 413191246se 于 2018-12-29 22:25 编辑
  1. Sub MyStyle()
  2.     Dim i As Paragraph, j&, a, b
  3.     For Each i In ActiveDocument.Paragraphs
  4.         With i.Range
  5.             If .Text Like "[一二三四五六七八九十]、*" Then
  6.                 .Style = "样式 1"
  7.             ElseIf .Text Like "#.*" Or .Text Like "##.*" Then
  8.                 .Style = "样式 2"
  9.             ElseIf .Text Like "(#)*" Or .Text Like "(##)*" Then
  10.                 .Style = "样式 3"
  11.             End If
  12.         End With
  13.     Next
  14.     a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
  15.     b = Array("①", "②", "③", "④", "⑤", "⑥", "⑦", "⑧", "⑨", "⑩")
  16.     With ActiveDocument.Content.Find
  17.         For j = 0 To 9
  18.             .Execute a(j) & ".", , , , , , , , , b(j), 2
  19.         Next j
  20.     End With
  21. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-1 20:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-1 20:41 | 显示全部楼层
本帖最后由 〖Light〗 于 2019-1-1 21:49 编辑

十分感谢!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-1 20:41 | 显示全部楼层

求大神,能不能再帮忙实现下:段落前的编号“一”,“1.”,“(1)”逐级修改。比如段落前为“一”,运行宏变为“1.”,再运行一次“1.”变为“(1)”。

TA的精华主题

TA的得分主题

发表于 2019-1-2 02:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 413191246se 于 2019-1-2 08:35 编辑

楼主,这样做的话,标题会混乱的,你确定这样做吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-1-2 12:17 | 显示全部楼层
是不是每个段落只判断前三个字符,进行操作。其余的内容不做判断,就不会乱啊

TA的精华主题

TA的得分主题

发表于 2019-1-2 14:08 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
是这样的,我用的方法是,循环遍历段落法,每个段落判断段首有什么特征,比如:“一、XX”,这显然应该设置为标题2样式;再比如:“1.XX“,在公文排版中应该是标题4样式,但在你这里是样式2……。楼主你的最终目的是什么呢?

TA的精华主题

TA的得分主题

发表于 2019-3-31 19:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

前辈,.Text Like "#.*" Or .Text Like "##.*"这句还能精简吗?例如.Text Like "[0-9]@." ,或者.Text Like "[0-9]{1,}." 这种通配符,但是试过行不通
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-11 11:14 , Processed in 0.026545 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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