以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何去除WORD文档中不显示的段落  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154701)

--  作者:明天的灵
--  发布时间:2020/9/24 9:40:00
--  [求助]如何去除WORD文档中不显示的段落
从WORD文档按段读取了内容,现想去除原文档中不显示内容的段,如整行都是空格(中文或英文空格),回车等。
Dim app As New MSWord.Application    
Dim doc = app.Documents.Open("d:\\test.doc")
For i as integer = 1 to  doc.Paragraphs.count
        msgbox(doc.Paragraphs(i).Range.text)
Next


--  作者:有点蓝
--  发布时间:2020/9/24 10:25:00
--  
参考:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=89633
--  作者:明天的灵
--  发布时间:2020/9/24 12:08:00
--  
我用例子中关键语句 Len(Trim(k.Range.text)) = 1   加入到上面,还是发现有部分空显示段落没有去除
 

--  作者:有点蓝
--  发布时间:2020/9/24 13:32:00
--  
说明不是空格,而是其它字符,比如回车,或者word的控制符
--  作者:明天的灵
--  发布时间:2020/9/24 16:01:00
--  

是的,应该是WORD控制符,用了下面语句,输出也是空的

Dim str As String = Trim(k.Range.text)
For Each s As String In str
    output.show(s & " " & Asc(s))
Next


--  作者:有点蓝
--  发布时间:2020/9/24 16:23:00
--  
Dim str As String = Trim(k.Range.text)
msgbox(str.length)

--  作者:明天的灵
--  发布时间:2020/9/24 17:28:00
--  
发现特殊行msgbox(str.length)没有输出,应该是空值,在写入语句 加 if  Trim(k.Range.text) > ""  then .... endif 解决了。
谢谢蓝版主指导