以文本方式查看主题

-  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=127548)

--  作者:天一生水
--  发布时间:2018/11/16 13:51:00
--  [求助]提取的Word文档字符串段落丢失

下列弹出msgbox(str)是分段的,在数据表里要回车一次,原有段落才能恢复,是什么原因?

上传文件事件BeforeAttachFile代码: 


Case "庭审笔录_笔录上传"
    e.Subfolder = e.DataRow("承办人")  \'将此文件存放在目录名为承办人名称的子目录中.
    Dim app As New MSWord.Application
    try
        Dim doc = app.Documents.Open(file)
        Dim count = Doc.Characters.Count
        Dim rng As MSWord.Range = Doc.Range(Start:=0, End:=count)
        \'msgbox(rng.Text)
        Dim str As String = rng.text
        \'字数统计
        e.DataRow("庭审笔录_全部字符") = str.Length   \'word中的字符偏少,连续数字按一个字符
        e.DataRow("庭审笔录_中文字符") = System.Text.RegularExpressions.Regex.Replace(str, "[^\\u4e00-\\u9fa5]", "").Length
        \'msgbox(str)
        e.DataRow("庭审笔录_笔录原文") = str

......

 


--  作者:有点甜
--  发布时间:2018/11/16 14:53:00
--  

试试改成

 

Dim str As String = rng.text

str = str.replace(vbcrlf, chr(10)).replace(chr(10), vbcrlf)

 

如果还有问题,加上下面代码看生成的换行符号是什么

 

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