最新WPS办公软件学习教程_免费企业办公软件下载_金山WPS Office官网论坛

 找回密码
 
查看: 6962|回复: 20

[VBA/VBS教程] 使用vbs为匹配正则表达式字串设置段落样式或字符样式

[复制链接]

154

主题

27

听众

5098

积分

解答支持团员

Rank: 14Rank: 14Rank: 14Rank: 14

签到天数: 1 天

[LV.1]初来乍到

金币
2784
威望
11087
帖子
2620
精华
0

技术分享团 解答支持团 测试体验团 优秀会员奖 活跃会员奖 乐于助人奖 技巧教程分享达人

发表于 2013-4-2 17:11 |显示全部楼层
分享到: 新浪微博 腾讯微博
本帖最后由 quelea 于 2013-4-2 22:19 编辑 7 v: X; o' B6 C5 T+ E& S

: v, C+ G, S$ ^7 K' }今天抽空改了一下原来的一个vbs脚本。
2 Z+ U( P) t- l
4 Q2 _5 m% {$ F2 a/ X( \) N4 m- F改后的脚本可以利用正则表达式搜索符合条件的字符串,为它统一设置需要的样式。可以是段落样式,也可以是字符样式。
4 [0 u+ h/ ^: a# \! Y
& C9 t" B2 S9 Y) D. h0 C这个不多说,直接上脚本:' P  f/ i& ~3 i. a
5 }; M8 }& w( W: b+ d2 Q
核心代码这里:2 C0 X& F- z% }* u+ c
思路简述:利用RegExp对象,获取所有匹配集合。遍历集合处理。详见下面代码和注释' g1 d, v/ k9 S/ k0 Z1 C
Dim regEx ,match,matches, ret' 建立变量。$ s9 X- z# G7 P! p! Q1 h# O8 B, o
Set regEx = NewRegExp   ' 建立RegExp。! V0 {, X1 x" F8 q/ a/ ]% h
regEx.Pattern = Pat   ' 设置模式。
" B  n1 v) {- @: C5 P: @regEx.IgnoreCase = False   ' 设置是否区分字母的大小写。1 L1 x( A( j& Y# b9 f: }/ [& J2 M
regEx.Global = True   ' 设置全程性质。
8 r$ g: N& i) `2 E# w7 CSet matches= regEx.Execute(AllText)   ' 执行搜索。
4 d0 q8 q: `8 ?$ BForEach matchIn matches      ' 重复匹配集合1 h$ e, p/ d. l. ^3 K
    objSelection.start = match.FirstIndex& o3 W/ X8 W1 z( J# r& o5 R3 n1 B
    objSelection.Collapse- x3 _4 Y+ b6 p& X+ _& C$ m5 {3 D
    objSelection.MoveRight1, match.Length, 1& }+ o+ F+ D: W; [- R. V$ G
    ret = MsgBox("是否设为"&Style&"?", vbYesNoCancel+vbQuestion+vbSystemModal)
3 {8 F' |" n9 D3 e3 j    If vbYes = retThen
$ v4 e, s5 U: Z4 |        objSelection.style = Style
5 \3 U  f: h- ~: n- H    ElseIf vbCancel = retThen
* d& v) ]: S" `( Y/ _        ExitFor' m! m0 H# W" |5 m9 y; C( _
    EndIf  
. P, i, v2 ?9 ]' {" `8 pNext
" r( ~# `* E3 ]: ]4 Y# r
源程序全文附件附上。
3 w. a8 @, t$ C0 a5 G2 `
% \9 Q: v# X4 c, N2 K0 o8 B
; V* I" O1 ~% l8 O: x! N+ A; t后面我会找一些应用场景,供参考。8 G6 u& N) x# l
整理格式:利用vbs脚本实现类似ID中嵌套样式的功能-金山WPS Office官网论坛
# u" v& W. g9 \0 Whttp://bbs.wps.cn/thread-22366041-1-1.html$ @4 u( K1 b1 Q' [
" I6 q" @6 P  H. f
+ i  l. i$ S% t! ^4 R0 {
# V1 y: L& C+ U" }* f" Z+ i
; M2 H' H* o8 V' ~( p% O, v8 s

本帖子中包含更多资源

您需要 登录 才可以下载或查看,

已有 3 人评分威望 金币 收起 理由
Chad + 34 完成任务!
wqs099207@163.com + 10
松风水月 + 15 赞一个!

总评分: 威望 + 25  金币 + 34   查看全部评分

19

主题

108

听众

5338

积分

技术分享团长

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

签到天数: 5 天

[LV.2]偶尔看看I

金币
5316
威望
11825
帖子
2334
精华
1

WPS粉丝团 荣誉版主奖 活跃会员奖 技术分享团 解答支持团 重阳节勋章

发表于 2013-4-3 20:17 |显示全部楼层
能用正则表达式匹配文本就是好~{:soso_e179:}
回复

使用道具 举报

154

主题

27

听众

5098

积分

解答支持团员

Rank: 14Rank: 14Rank: 14Rank: 14

签到天数: 1 天

[LV.1]初来乍到

金币
2784
威望
11087
帖子
2620
精华
0

技术分享团 解答支持团 测试体验团 优秀会员奖 活跃会员奖 乐于助人奖 技巧教程分享达人

发表于 2013-4-3 21:26 |显示全部楼层
松风水月 发表于 2013-4-3 20:17 [url=forum.php?mod=redirect&goto=findpost&pid=6181439626&ptid=22365987][/url]
$ P1 y' g! ^+ Y能用正则表达式匹配文本就是好~
" K0 ]" K, C) e& j& G
脚本还是不方便。比不上原生好啊。那么多编辑器都支持不知道为什么wps不好好做一下。正常的文字编器都是支持的。word支持有限,wps支持更有限。2 u$ f; @' h) l% L' y) y0 V
其它的好像都没问题。从纯文本notepad++、Emeditor, everedit到专业排版Indesign,都能完整支持

点评

赞同: 5.0
翘尾的k  赞同: 5
  发表于 2013-4-3 21:38
松风水月  不知道会不会是因为富文本的关系,不好处理~~如果能原生支持就好了,那查找替换功能不知增强多少!  详情 回复 发表于 2013-4-3 21:37
回复

使用道具 举报

19

主题

108

听众

5338

积分

技术分享团长

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

签到天数: 5 天

[LV.2]偶尔看看I

金币
5316
威望
11825
帖子
2334
精华
1

WPS粉丝团 荣誉版主奖 活跃会员奖 技术分享团 解答支持团 重阳节勋章

发表于 2013-4-3 21:37 |显示全部楼层
quelea 发表于 2013-4-3 21:26
' Q$ N' {) X: U( f4 n脚本还是不方便。比不上原生好啊。那么多编辑器都支持不知道为什么wps不好好做一下。正常的文字编器都是支 ...
' y  V8 ]& x* g" i* T  G' w
不知道会不会是因为富文本的关系,不好处理~~如果能原生支持就好了,那查找替换功能不知增强多少!
回复

使用道具 举报

3

主题

1

听众

100

积分

技术分享团员

Rank: 14Rank: 14Rank: 14Rank: 14

该用户从未签到

金币
88
威望
245
帖子
36
精华
0
发表于 2013-4-7 14:51 |显示全部楼层
编程是能够方便生活的.{:soso_e136:}一般处理文档的人,用不着VBA这高级货.嘿嘿
回复

使用道具 举报

0

主题

0

听众

131

积分

LV.3

Rank: 3Rank: 3

该用户从未签到

金币
5
威望
206
帖子
137
精华
0
发表于 2013-4-9 12:21 |显示全部楼层
不错不错,值得学习啊!                        
回复

使用道具 举报

112

主题

18

听众

2万

积分

LV.18

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

签到天数: 1206 天

[LV.10]以坛为家III

金币
2099
威望
67811
帖子
4131
精华
0

优秀会员奖 活跃会员奖

发表于 2014-11-30 17:02 |显示全部楼层
了解一下        
回复

使用道具 举报

1

主题

1

听众

84

积分

LV.2

Rank: 2

签到天数: 17 天

[LV.4]偶尔看看III

金币
20
威望
87
帖子
95
精华
0
发表于 2015-2-3 22:22 |显示全部楼层

+ B6 O% u' M+ r1 X, _+ V2 p来学习教程!支持!
回复

使用道具 举报

3

主题

0

听众

54

积分

LV.2

Rank: 2

该用户从未签到

金币
7
威望
139
帖子
2
精华
0
发表于 2015-2-4 15:06 |显示全部楼层
好难哦。版主水平真好。
回复

使用道具 举报

1

主题

1

听众

84

积分

LV.2

Rank: 2

签到天数: 17 天

[LV.4]偶尔看看III

金币
20
威望
87
帖子
95
精华
0
发表于 2015-2-4 22:17 |显示全部楼层

; w7 s* W2 E2 N) C0 Z% J好帖子,来支持了!
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 更多账号登录:

快速回帖:

fastpost

WPS论坛更新日志|WPS Office官方论坛     

GMT+8, 2017-12-15 14:16

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部