以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  快速清除指定区域内容  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131466)

--  作者:kaituozhe
--  发布时间:2019/2/27 8:42:00
--  快速清除指定区域内容

 由于需要清除的内容太多,设置快速清除代码,Syscmd.Edit.Delete()是系统命令,不能实现快速清除,以下代码该怎么修改才能实现目的

SystemReady = False
        \'For i As Integer = CurrentTable.TopRow To CurrentTable.BottomRow
            \'For n As Integer = CurrentTable.LeftCol To CurrentTable.RightCol
           \'msgbox(i,n)    
            \'Next
        \'Next
        \'
        Syscmd.Edit.Delete()
        SystemReady = True


--  作者:有点甜
--  发布时间:2019/2/27 9:24:00
--  

这样,必须注释掉 SystemReady = False

 

\'SystemReady = False
CurrentTable.EditDelete
\'SystemReady = True

如果需要systemready,必须一行一列地删除才行


--  作者:kaituozhe
--  发布时间:2019/2/27 10:20:00
--  
我设定的表格是自动保存的,这样清除数据速度很慢,我是考虑把除清除以外的代码都停止运行,然后清除数据,再恢复代码运行
--  作者:有点甜
--  发布时间:2019/2/27 10:30:00
--  

方法一:这样删除

 

For i As Integer = CurrentTable.TopRow To CurrentTable.BottomRow
    For n As Integer = CurrentTable.LeftCol To CurrentTable.RightCol
        CurrentTable.Rows(i)(n) = Nothing
    Next
Next

方法二:用变量处理,如

 

vars("stop") = true

CurrentTable.EditDelete

vars("stop") = false

 

然后,在你的各个事件里面,判断 vars("stop") 的值,控制是否执行


--  作者:kaituozhe
--  发布时间:2019/2/27 10:48:00
--  

如果使用类似方法粘贴时,被粘贴的值是空的,粘贴的列的是日期列就会出现下列错误,该怎么修改?

.NET Framework 版本:2.0.50727.8937
Foxtable 版本:2018.10.9.1
错误所在事件:
详细错误信息:
对于造型说明无效的字符值


--  作者:有点甜
--  发布时间:2019/2/27 10:51:00
--  

 

不理解你的意思,请做一个例子发上来测试。