我可以: 邀请好友来看>>
ZOL星空(中国) > 硬件星空(中国) > 系统软件与网络星空(中国) > 软件下载星空(中国) > office中自动删除空行的宏代码
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

office中自动删除空行的宏代码

437浏览 / 1回复

terence2u

terence2u

0
精华
47
帖子

等  级:Lv.6
经  验:7681
  • Z金豆: 0

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:北京
  • 注  册:2009-11-19
  • 登  录:2014-03-05
发表于 2009-12-11 17:40:02
电梯直达 确定
楼主
一个可以批量删除所有空格的宏,在复制文字到word时带有大量空格的时候感觉比较实用。
宏的使用方法见:

如何在OFFICE中使用宏


宏代码如下(附件为同样代码):



Sub DBL()
i=1
Do
'从当前文档的顶端开始逐一选择文档的每一段文字
ActiveDocument.Paragraphs(i).Range.Select
If Trim(Selection.Text) = Chr(13) Then
'如果选择的段落里只有回车符和空格则删除此段
Selection.Delete
Else
'如果选择的段落非空,就将选择的指针移向下一段
Selection.MoveDown
i=i+1
End If
Loop Until i=ActiveDocument.Paragraphs.Count
End Sub

OK!
写好了宏程序后,可以把建好的宏拖到快捷工具栏上,做好后,如果需要从网页上拷贝文字到Word上编辑时,只要单击一次这个宏按钮,即可瞬间删除整篇文档里的空行了。

另外一种代码(可以显示出共删除了多少空行等)

Sub DelBlank()
Dim i As Paragraph, n As Integer
Application.ScreenUpdating = False
For Each i In ActiveDocument.Paragraphs
If Len(i.Range) = 1 Then
i.Range.Delete
n = n + 1
End If
Next
MsgBox "共删除空白段落" & n & "个"
Application.ScreenUpdating = True
End Sub

zgcdx

zgcdx


精华

帖子

等  级:Lv.5
经  验:5980
发表于 2010-01-01 09:43:40 1楼
Word中可能产生空白的地方有很多(很多Unicode字符都会产生空白),未必就是段落标记(^p)。你的代码太简单了,不足以处理各种情况——空行可不仅仅只是只有一个段落标记字符一种情况。并且你的代码在处理大文档是的效率也不高,自己想想改进的方法吧。
高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表