Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
如题!
这样应该差不多了。
Dim v,v1,v2 As String
With CurrentTable
For i As Integer = .LeftCol To .RightCol
v2 = v2 & chr(9) & .Cols(i).Caption
Next
For r As Integer = .TopPosition To .BottomPosition
v1 = ""
For c As Integer = .LeftCol To .RightCol
If .Cols(c).Visible Then
If .Rows(r).IsNull(c) Then
v1 = v1 & chr(9) & ""
Else
v1 = v1 & chr(9) & .Rows(r)(c).ToString
End If
End If
Next
v = v & v1.Trim(chr(9)) & chr(13)
Next
End With
ClipBoard.SetText(v2.Trim(chr(9)) & chr(13) & v.Trim(chr(13)))
楼上的代码处理不够严谨,如果复制多列,多行,当一行中只有某个或某几个单元格有数据时,粘贴时会产生数据错位挤堆现象,更正如下。
Dim v,v1,v2 As String
With CurrentTable
For i As Integer = .LeftCol To .RightCol
v2 = v2 & chr(9) & .Cols(i).Caption
Next
For r As Integer = .TopPosition To .BottomPosition
v1 = ""
For c As Integer = .LeftCol To .RightCol
If .Cols(c).Visible Then
If .Rows(r).IsNull(c) Then
v1 = v1 & chr(9) & .ToString
Else
v1 = v1 & chr(9) & .Rows(r)(c).ToString
End If
End If
Next
v = v & v1.Trim(chr(9)) & chr(13)
Next
End With
ClipBoard.SetText(v2.Trim(chr(9)) & chr(13) & v.Trim(chr(13)).Replace("Foxtable.Table",""))
说明,楼上的代码是排除隐藏列的,如果需要复制隐藏列的数据,可以将下面的if判断删除
If .Cols(c).Visible Then
End If
建议老六编写一个菜单“复制包括标题”,在SQL Server当中也有“复制”(普通的不带标题)和“复制包括标题”这2个菜单的,这2个菜单的通用性很强的。
建议老六编写一个菜单“复制包括标题”,在SQL Server当中也有“复制”(普通的不带标题)和“复制包括标题”这2个菜单的,这2个菜单的通用性很强的。
呵呵,有道理,我会考虑的
谢谢CZY楼主
强烈建议狐表里面直接增加两个功能:
(1)复制带上标题
(2)粘贴区分标题
CZY楼主,麻烦你再写一个“粘贴区分标题”按钮功能。我写出来的代码太长。