Foxtable(狐表)用户栏目专家坐堂 → 剪贴板


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

主题:剪贴板

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


加好友 发短信
等级:婴狐 帖子:42 积分:532 威望:0 精华:0 注册:2021/4/21 9:10:00
剪贴板  发帖心情 Post By:2021/7/23 22:56:00 [只看该作者]

设计个按钮代码,怎么把表A的筛选出的  第一列 和 第三列  这两列的内容加入到剪贴板中,然后到excel中粘贴,贴在在excel中的相邻两列中
[此贴子已经被作者于2021/7/24 7:30:06编辑过]

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/24 9:17:00 [只看该作者]

Dim r As Row = Tables("表A").Current
ClipBoard.SetText(r("第一列") & vbtab & r("第三列"))

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


加好友 发短信
等级:婴狐 帖子:42 积分:532 威望:0 精华:0 注册:2021/4/21 9:10:00
  发帖心情 Post By:2021/7/24 9:33:00 [只看该作者]

老师,行数若很多,代码怎么写?

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/24 9:49:00 [只看该作者]

Dim s As String
For Each r As Row In Tables("表B").Rows
    s = s & vbcrlf & r("第一列") & vbtab & r("第三列")
Next
s = s.TrimStart(new Char(){vbcr,vblf})
ClipBoard.SetText(s)

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


加好友 发短信
等级:婴狐 帖子:42 积分:532 威望:0 精华:0 注册:2021/4/21 9:10:00
  发帖心情 Post By:2021/7/24 10:03:00 [只看该作者]

谢谢,功能实现了,但看不太懂,有帮助文件或什么说明吗

 

特别是这句

s = s.TrimStart(new Char(){vbcr,vblf})

[此贴子已经被作者于2021/7/24 10:03:54编辑过]

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/24 10:14:00 [只看该作者]


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


加好友 发短信
等级:婴狐 帖子:42 积分:532 威望:0 精华:0 注册:2021/4/21 9:10:00
  发帖心情 Post By:2021/7/24 13:54:00 [只看该作者]

老师,请问我把代码改成把选中的区域,加到剪贴板,粘贴后都跑到一列中了,请问错在哪了

 

 

Dim t As Table = Tables("表A")
Dim s As String
For j As Integer = t.leftcol To t.rightcol
For i As Integer = t.TopPosition To t.BottomPosition
   s = s & vbcrlf & t.Rows(i)(j) & vbtab     
Next
Next
s = s.TrimStart(new Char(){vbcr,vblf})
ClipBoard.SetText(s)


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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/24 14:13:00 [只看该作者]

Dim t As Table = Tables("表A")
Dim ss As new StringBuilder
For i As Integer = t.TopPosition To t.BottomPosition
    Dim s As String =""
    For j As Integer = t.LeftCol To t.rightcol
        s = s & t.Rows(i)(j) & vbtab
    Next
    ss.AppendLine(s.Trim(vbtab))
Next
ClipBoard.SetText(ss.ToString)

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


加好友 发短信
等级:婴狐 帖子:42 积分:532 威望:0 精华:0 注册:2021/4/21 9:10:00
  发帖心情 Post By:2021/7/24 15:11:00 [只看该作者]

测试了一下

粘贴前

第一列 第二列
1111 2222
2222
  

 

粘贴后变样了

 

 

第一列 第二列
1111 2222
2222


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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/7/24 15:48:00 [只看该作者]

ss.AppendLine(s.Trim(vbtab))
改为
ss.AppendLine(s.Trimend(vbtab))

 回到顶部