以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 复制多行文本单元格的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=38876)
|
-- 作者:明丰
-- 发布时间:2013/8/9 14:08:00
-- 复制多行文本单元格的问题
Excel单元格多行文本格式:Chr(34) & "第一行" & Chr(10) & “第二行” & chr(34) & Chr(13) & Chr(10)
Foxtable单元格多行文本格式:"第一行" & Chr(13) & Chr(10) & “第二行” & Chr(13) & Chr(10)
Foxtable采用Excel多行文本格式时,能正常多行显示,但单元格进入编辑状态时变为单行显示。
Foxtable复制含多行文本的单元格时,文本第二行会跳到下一单元格,Excel就不会出现这种情况。
同时复制 多个 含多行文本单元格时,如何避免文本第二行跳出单元格? 此主题相关图片如下:多行文本.gif
|
-- 作者:Bin
-- 发布时间:2013/8/9 14:15:00
--
你双击进入编辑状态再黏贴就没有这样的问题.
|
-- 作者:明丰
-- 发布时间:2013/8/9 14:19:00
--
复制单个单元格没问题,如果是多行呢?
|
-- 作者:Bin
-- 发布时间:2013/8/9 14:22:00
--
多行复制要不你就用代码导出吧,这个很难做到完美契合.
|
-- 作者:明丰
-- 发布时间:2013/8/9 14:37:00
--
复制前将单元格内部“换行、回车”替换为“换行”,粘贴完成后再替换回来,可以解决问题。
但如果狐爸能完善一下功能,就更好了,毕竟大家都碰到过这个问题。
|
-- 作者:y2287958
-- 发布时间:2013/8/9 19:30:00
--
支持
|
-- 作者:有点甜
-- 发布时间:2013/8/9 19:58:00
--
楼主可以尝试这样。
Dim str As String = ClipBoard.GetText() str = str.Replace(vbcrlf, Chr(10)) ClipBoard.SetText(str)
|
-- 作者:明丰
-- 发布时间:2013/8/9 21:53:00
--
\'项目事件 Initialize For Each dt As DataTable In DataTables dt.GlobalHandler.PrepareEdit = True \'开启PrepareEdit事件 Next For Each dt As DataTable In DataTables dt.GlobalHandler.AfterEdit = True \'开启AfterEdit事件 Next
\'全局表事件 PrepareEdit 准备编辑时,替换剪贴板多行文本换行符 Dim str As String = ClipBoard.GetText() If str.contains(vbcrlf) Then str = str.Replace(vbcrlf, Chr(10)) ClipBoard.SetText(str) End If
\'全局表事件 AfterEdit 结束编辑单元格后,替换单元格多行文本换行符 If e.Row(e.Col.name).contains(chr(10)) And e.Row(e.Col.name).contains(vbcrlf) = False Then e.Row(e.Col.name) = e.Row(e.Col.name).replace(chr(10),vbcrlf) End If
[此贴子已经被作者于2013-8-10 16:48:18编辑过]
|
-- 作者:明丰
-- 发布时间:2013/8/10 16:50:00
--
测试通过!
|
-- 作者:lsy
-- 发布时间:2013/8/10 17:21:00
--
只要有利于使用者使用
只要有利于开发者开发
只要有利于狐狸精成长
顶就一个字,没得商量。
|