请教:如何在运用vba处理文件夹中所有的word文档?

Sub删除空白行()'删除空行,by不见不散,2006-1-15DimpAsParagraphDimrAsRangeDimsAsStringDimlAsLongForEa... Sub 删除空白行()
'删除空行,by不见不散,2006-1-15
Dim p As Paragraph
Dim r As Range
Dim s As String
Dim l As Long
For Each p InActiveDocument.Paragraphs
Set r = p.Range
s = CStr(r.Text)
l = Asc(s)
If (l = 13 Or l =11) Then r.Text = ""
Next p
End Sub
展开
 我来答
万年金刚钻
2016-07-22 · TA获得超过1.6万个赞
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:3479万
展开全部
代码除了
For Each p InActiveDocument.Paragraphs
少了一个空格,而应该是
For Each p In ActiveDocument.Paragraphs
以外,应该没有问题。
楼主是不是想利用这段代码增加一些文档打开语句来处理文件夹中的所有Word文档呢?
追问
完全正确!就是您的这个意思。
追答
Option Explicit

Sub DelBlankVol()

Dim Self$, CurrPath$, CurrFile$, l!

Dim Doc As Document, p As Paragraph

CurrPath = ThisDocument.Path & "\"

Self = ThisDocument.Name

CurrFile = Dir(CurrPath)

Do Until CurrFile = ""

    If CurrFile <> Self And CurrFile <> "." And CurrFile <> ".." And (LCase(Right(CurrFile, 5)) = ".docx" Or LCase(Right(CurrFile, 4)) = ".doc") Then

        Set Doc = Documents.Open(CurrPath & CurrFile)

        For Each p In Doc.Paragraphs

            

            l = Asc(CStr(p.Range.Text))

            On Error Resume Next

            If (l = 13 Or l = 11) Then p.Range.Text = ""

            On Error GoTo 0

        Next p

        Doc.Save

        Doc.Close

        Set Doc = Nothing

    End If

    CurrFile = Dir()

Loop

End Sub

附件请下载参考

skyzxh

2016-07-21 · 知道合伙人软件行家
skyzxh
知道合伙人软件行家
采纳数:2623 获赞数:8344
毕业于中科院,硕士,30年工程从业经验。现任公司技术负责。

向TA提问 私信TA
展开全部
要处理什么?
追问
Sub 删除空白行()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式