|
|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
如果是纯文档处理,可试试如下代码:- Sub test()
- '假设题型说明及题干均只有一个段落,题型说明以小写汉字数字为序
- '按题号及选项字母后的标点均为顿号查找
- Dim data As String
- Dim RegExp As Object
-
- Application.ScreenUpdating = False
- data = ActiveDocument.Content.Text
- Set RegExp = CreateObject("VBScript.RegExp")
- With RegExp
- .Global = True
- .MultiLine = True
- .Pattern = "(^\d+、[^\r]+?)\s*\r(?!(A、|\d+、|[一二三四]、))"
- Do While .test(data) = True '合并异常段落
- data = .Replace(data, "$1")
- Loop
- .Pattern = "(^\d+、[^\r]+?)\(([A-D]+)\)(.+?^D、[^\r]+\r)"
- data = .Replace(data, "$1$3[答案]$2" & Chr(13) & Chr(13))
- If Right(data, 1) <> Chr(13) Then data = data & Chr(13)
- .Pattern = "(^\d+、)(\([√×]\))([^\r]+)(\r)"
- data = .Replace(data, "$1$3$2$4")
- End With
- Documents.Add(ActiveDocument.FullName).Content.Text = data
- Application.ScreenUpdating = True
- MsgBox "处理完毕!处理结果见新文档。", vbInformation
- End Sub
复制代码 |
|