|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
我一片文档里 有很多题目
这样的
1.题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1题目1。【蓝色】
1.答案:解析题目1题目1题目1题目1。
其中题目是黑色的答案是红色的,中间还有蓝色的字
一个word文件里上百道题
但是不可避免有重复的
就是除了序号以外的文字是重复的
我找网友做了一个宏但是如果文档长的话一运行就死机
因为文档50页以上的
这个宏我贴出来
大家看看有没有好的改进方案,不死机
运行快的 查找重复段落 但是序号又不算
Sub 查重复的题目()
Dim myParagraph As Paragraph, myRange As Range, aRange As Range
Dim aNumStr As String
Dim I As Long, CP As Long
For Each myParagraph In ActiveDocument.Paragraphs
CP = CP + 1
Set myRange = myParagraph.Range
myRange.End = myRange.End - 1
If InStr(1, myRange.Text, ".") > 1 And InStr(1, myRange.Text, ".") < 5 Then
aNumStr = Replace(Mid(myRange.Text, 1, InStr(1, myRange.Text, ".")), " ", "")
If IsNumeric(aNumStr) Then
For I = CP To ActiveDocument.Paragraphs.Count
If I > CP Then
Set aRange = ActiveDocument.Paragraphs(I).Range
aRange.End = aRange.End - 1
If Mid(aRange.Text, Len(aNumStr) + 1) = Mid(myRange.Text, Len(aNumStr) + 1) Then aRange.Font.Color = wdColorBlue
End If
Next
Else
For I = CP To ActiveDocument.Paragraphs.Count
If I > CP Then
Set aRange = ActiveDocument.Paragraphs(I).Range
aRange.End = aRange.End - 1
If aRange.Text = myRange.Text Then aRange.Font.Color = wdColorBlue
End If
Next
End If
End If
Next
End Sub
请高手指教
我再发个图片 |
|