以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]帮忙加一句“清除不可见空格的代码”  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95702)

--  作者:jyh7081
--  发布时间:2017/2/2 16:46:00
--  [求助]帮忙加一句“清除不可见空格的代码”
版主新年好!

1、VBA原代码:
Sub 删除看不见空格()
    ActiveDocument.Content.Find.Execute FindText:=Chr(10), replacewith:="", Replace:=wdReplaceAll
End Sub

2、我改了一下,想加入下面的代码时,提示要声明wdReplaceAll,不知道怎么办了,请指教!
doc.Content.Find.Execute(FindText:=Chr(10), replacewith:="", Replace:=wdReplaceAll)

3、加在下面的横线处:

\'\'\'
\'word报表:带表格
Dim clbx1 As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox1")
Dim clbx2 As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox2")
For Each j As String In clbx2.CheckedIndices
    Dim tm As String  = ProjectPath & "模板文件\\" & clbx2.Items(j) \'指定模板文件
    For Each i As Integer In clbx1.CheckedIndices
        Dim fl As String = ProjectPath & "成品文件\\" & clbx1.items(i) & clbx2.Items(j)      \'指定目标文件
        
        Dim nm As String  = CurrentTable.Name
        Dim dr As DataRow =DataTables(nm).Find("名称 = \'" & clbx1.items(i) & "\'")
        
        If dr IsNot Nothing
            Dim wrt As New WordReport(Tables(nm),tm,fl) \'定义一个WordReport
            wrt.BuildOne(dr)
            wrt.quit
            Dim app As New MSWord.Application
            try
                Dim doc = app.Documents.Open(fl)
                doc.Content.Find.Execute(FindText:="^l", replacewith:="^p", Replace:=2)
                doc.Content.Find.Execute(FindText:="^13", replacewith:="^p", Replace:=2)
                
                                                                                                                                          
                ......(原帖在http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=95616)

--  作者:有点色
--  发布时间:2017/2/2 16:47:00
--  

很简单,你运行一下,记住这个值,即可。

 

msgbox wdReplaceAll


--  作者:jyh7081
--  发布时间:2017/2/2 17:04:00
--  
提示:
编译错误:方法参数必须括在括号中!

我加上括号后,仍然不行...

--  作者:有点色
--  发布时间:2017/2/2 17:05:00
--  

 在vba里面,执行上面的代码。

 

 或者你直接写2


--  作者:jyh7081
--  发布时间:2017/2/2 17:27:00
--  
谢谢版主!
wdReplaceAll 改成2后,可以加入代码了,但是生成的word报表,还是存在空格;
我想在生成报表时就删除空格,但是没起作用。
在word中单独使用VBA代码可以删除空格。

此主题相关图片如下:200325etk0m4xmi06rxxj0.jpg
按此在新窗口浏览图片

附件:
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:aa1.rar

[此贴子已经被作者于2017/2/2 17:50:25编辑过]

--  作者:有点色
--  发布时间:2017/2/2 17:54:00
--  

改成

 

doc.Content.Find.Execute(FindText:="^10", replacewith:="", Replace:=2)