以文本方式查看主题

-  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=83278)

--  作者:xjt26605275
--  发布时间:2016/4/5 19:09:00
--  程序中复制表格的数据,粘贴到excel的问题
比如复制表格中的:0564   然后到excel粘贴  变成了   564
--  作者:大红袍
--  发布时间:2016/4/5 20:12:00
--  
单元格格式设置成文本,再粘贴。
--  作者:大红袍
--  发布时间:2016/4/5 20:13:00
--  

或者拷贝以后用代码处理一下,再粘贴

 

Dim str As String = ClipBoard.GetText
Dim cs() As Char = {chr(9), chr(13)}
For Each s As String In str.Split(cs)
    If s.StartsWith("0") Then
        str = str.Replace(s, "\'" & s)
    End If
Next
ClipBoard.SetText(str)


--  作者:xjt26605275
--  发布时间:2016/4/5 22:19:00
--  
那要在表格的哪个事件 写这些代码好??
--  作者:大红袍
--  发布时间:2016/4/5 23:14:00
--  

keyUp事件

 

If e.control = True AndAlso e.KeyCode = Keys.C Then
    Dim str As String = ClipBoard.GetText
    Dim cs() As Char = {chr(9), chr(13)}
    For Each s As String In str.Split(cs)
        If s.StartsWith("0") Then
            str = str.Replace(s, "\'" & s)
        End If
    Next
    ClipBoard.SetText(str)
End If


--  作者:xjt26605275
--  发布时间:2016/4/6 12:38:00
--  
好像 这样子不支持office2003啊 2003 单引号会显示出来
--  作者:大红袍
--  发布时间:2016/4/6 14:53:00
--  

 那没办法,显示不过不影响使用。

 

 最好的方式,你还是控制excel的单元格格式为文本吧。