以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  EXCEL表里复制出来的含非打印字符造成自动换行或者换列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121422)

--  作者:dhlzlxl
--  发布时间:2018/7/5 19:42:00
--  EXCEL表里复制出来的含非打印字符造成自动换行或者换列
第一次使用狐表发现一个问题,我从EXCEL表里复制出来的内容里某列会含有非打印字符,粘贴到狐表里会出现自动换行或者换列请问这种情况怎么处理呢
论坛没有直接插图功能吗?

--  作者:有点甜
--  发布时间:2018/7/5 20:14:00
--  

菜单->表属性->keydown事件,写这种代码

 

If e.control = True AndAlso e.keycode = keys.v Then
    \'执行代码
    Dim str As String = ClipBoard.GetText
    Dim nstr As String = ""
    Dim tempstr As String = ""
    Dim flag As Boolean = False
    For i As Integer = 0 To str.length - 1
        If str(i) = """" Then
            If i = 0 OrElse str(i-1) = chr(9) OrElse str(i-1) = chr(10) Then \'开始
                flag = True
            ElseIf i = str.length-1 OrElse str(i+1) = chr(9) OrElse str(i+1) = chr(13) Then \'结束
                tempstr = tempstr.Replace(chr(13), "")
                nstr &= tempstr
                tempstr = ""
                flag = False
            End If
        End If
        If flag = True Then
            tempstr &= str(i)
        Else
            nstr &= str(i)
        End If
    Next
    ClipBoard.SetText(nstr)
End If


--  作者:dhlzlxl
--  发布时间:2018/7/11 17:15:00
--  
好的,谢谢大神了,还有个问题,我的这个 

菜单->表属性->keydown事件里已经有一个代码了,是根据粘贴内容自动增加行的,你的这个代码我直接复制到之前的代码下面就可以吗?》


--  作者:dhlzlxl
--  发布时间:2018/7/11 17:25:00
--  
您好刚才测试了一下在我之前的代码后面加上你这个代码也可以运行,不过还是有点问题,您这个代码只是处理了换行的问题,换列的问题依然存在,我现在只能增加辅助列了吗?有没有更全的代码呢?谢谢
--  作者:有点甜
--  发布时间:2018/7/11 17:47:00
--  
以下是引用dhlzlxl在2018/7/11 17:25:00的发言:
您好刚才测试了一下在我之前的代码后面加上你这个代码也可以运行,不过还是有点问题,您这个代码只是处理了换行的问题,换列的问题依然存在,我现在只能增加辅助列了吗?有没有更全的代码呢?谢谢

 

做个例子发上来测试(项目、excel文件一起打包发上来)