Foxtable(狐表)用户栏目专家坐堂 → Excel单元格复制过来时变成好几个单元格


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

主题:Excel单元格复制过来时变成好几个单元格

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/7 12:55:00 [显示全部帖子]


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/7 15:23:00 [显示全部帖子]

做一个按钮,放入下面的代码。

 

然后,复制你excel的内容后,点击一下按钮,再粘贴。

 

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)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/7 15:27: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


 回到顶部