Foxtable(狐表)用户栏目专家坐堂 → [求助]帮忙加一句“清除不可见空格的代码”


  共有1944人关注过本帖树形打印复制链接

主题:[求助]帮忙加一句“清除不可见空格的代码”

帅哥哟,离线,有人找我吗?
jyh7081
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
[求助]帮忙加一句“清除不可见空格的代码”  发帖心情 Post By: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)

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/2 16:47:00 [只看该作者]

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

 

msgbox wdReplaceAll


 回到顶部
帅哥哟,离线,有人找我吗?
jyh7081
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/2/2 17:04:00 [只看该作者]

提示:
编译错误:方法参数必须括在括号中!

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/2 17:05:00 [只看该作者]

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

 

 或者你直接写2


 回到顶部
帅哥哟,离线,有人找我吗?
jyh7081
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/2/2 17:27:00 [只看该作者]

谢谢版主!
wdReplaceAll 改成2后,可以加入代码了,但是生成的word报表,还是存在空格;
我想在生成报表时就删除空格,但是没起作用。
在word中单独使用VBA代码可以删除空格。

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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/2 17:54:00 [只看该作者]

改成

 

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


 回到顶部