以文本方式查看主题
- 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=104865)
|
-- 作者:君子性非异也
-- 发布时间:2017/8/7 12:03:00
-- Excel单元格复制过来时变成好几个单元格
从Excel复制信息到自建foxtable表中时,出现了一个单元格,在Excel当中是一个,在foxtable却占用了好几个,这样就错位了。只有一个单元格这样,其他很正常。
|
-- 作者:有点甜
-- 发布时间:2017/8/7 12:55:00
--
处理一下
http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=101071&replyID=695003&skin=1
|
-- 作者:君子性非异也
-- 发布时间:2017/8/7 15:21:00
--
具体怎么使用?代码贴在哪儿运行?
|
-- 作者:有点甜
-- 发布时间: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)
|
-- 作者:有点甜
-- 发布时间: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
|