以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  剪贴板  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=170376)

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

--  作者:有点蓝
--  发布时间:2021/7/24 9:17:00
--  
Dim r As Row = Tables("表A").Current
ClipBoard.SetText(r("第一列") & vbtab & r("第三列"))

--  作者:shenfengxiaozi
--  发布时间:2021/7/24 9:33:00
--  
老师,行数若很多,代码怎么写?
--  作者:有点蓝
--  发布时间: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
--  发布时间:2021/7/24 10:03:00
--  

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

 

特别是这句

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

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

--  作者:有点蓝
--  发布时间:2021/7/24 10:14:00
--  
删除前面的回车换行

http://www.foxtable.com/webhelp/topics/0233.htm
--  作者:shenfengxiaozi
--  发布时间: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)


--  作者:有点蓝
--  发布时间: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
--  发布时间:2021/7/24 15:11:00
--  

测试了一下

粘贴前

第一列 第二列
1111 2222
2222
  

 

粘贴后变样了

 

 

第一列 第二列
1111 2222
2222


--  作者:有点蓝
--  发布时间:2021/7/24 15:48:00
--  
ss.AppendLine(s.Trim(vbtab))
改为
ss.AppendLine(s.Trimend(vbtab))