|
本帖最后由 weiyingde 于 2017-7-8 16:28 编辑
试卷中经常要在显示和隐藏拼音之间切换,下面的代码意在如此,只可惜在处理拼音的同时,连同前后括号也一起处理了。怎样通过前后括号定位里的内容而不包含括号呢?
我的代码如下,请大侠完善指瑕。
数据如下:
鳞次zhì(栉)比
qiè(锲)而不舍
吹毛求cī(疵)
xiāo(销)声nì(匿)迹
通xiāo(宵)达旦
惟妙惟xiào(肖)
相形见chù(绌)
jiá(戛)然而止
kè(恪)尽职守
忍俊不jīn(禁)
义愤填yīng(膺)
妇rú(孺)皆知
格物zhì(致)知
根深dì(蒂)固
即物起xìng(兴)
毛骨sǒng(悚)然
眼花liáo(缭)乱
藏污纳gòu(垢)
顶礼mó(膜)拜
迫不jí(及)待
不言而yù(喻)
chì zhà(叱咤)风云
广mào(袤)无yín(垠)
浑身xiè(解)数
代码如下:
Sub 隐藏或显示拼音()
n = n + 1
s = n Mod 2 + 1
With CreateObject("Vbscript.Regexp")
.Global = True
.MultiLine = True
.Pattern = "[(\(()].*?(?=[(\)))]|$)"
For Each m In .Execute(ActiveDocument.Content)
f = m.FirstIndex: l = m.Length
With ActiveDocument.Range(f, f + l + 1).Font
.ColorIndex = Choose(s, wdDarkBlue, wdWhite)
End With
Next
End With
End Sub |
|