哈哈,都怪我一时粗心,在复制时,没有使用我的"VBE中文代码复制器"(http://club.excelhome.net/viewthread.php?tid=71272)所造成的.在代码复制到网页,其中的两个全角空格变成了"¡¡",而这个在复制粘贴到WORD VBE中时,又变成了"??",着实让楼主很是焦急了一翻,有趣极了.
我初看此贴,我也纳闷得很啊,怎么会有这句代码呢?VBA.InStr(i.Range, "??"),没有这个用法啊,我晕,所有,查看了所有楼主的贴子后,才知道,都是粘贴惹的祸![em03]
以下是正确的代码:
'* +++++++++++++++++++++++++++++
'* Created By I Love You_Word!@ExcelHome 2005-4-28 5:00:54
'仅测试于System: Windows NT Word: 10.0 Language: 2052
'^The Code CopyIn [ThisDocument-ThisDocument]^'
'* -----------------------------
Option Explicit
Sub Example()
Dim i As Paragraph
Application.ScreenUpdating = False
For Each i In ActiveDocument.Paragraphs
If Len(i.Range) <= 4 Or VBA.InStr(i.Range, " ") > 0 Then i.Range.Delete
Next
Application.ScreenUpdating = True
End Sub
'----------------------
但是,象这种情况,WORD的自带的查找与替换,如楼主一楼的问题一样,可以解决,请参以下图片:
其中查找部分中,注意不区分全角/半角,其空格无论全半角,其中的^w即是指空格(空白),替换为^p(段落标记),全部替换.
然后,再使用查找与替换,查找^p^p,替换为^p,反复数次.
如果你觉得不爽,则自己按照思路,结合录制宏(空白部分的替换),自己写个小代码,OK! |