VB中如何实现复制粘贴?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB中如何实现复制粘贴?相关的知识,希望对你有一定的参考价值。

就像windows自带的计算器的复制粘贴功能一样.上次有位高人告诉我,我没听懂.

Private Sub CmdCopy_Click()
Clipboard.SetText TxtContent.SelText
End Sub
Private Sub CmdPaste_Click()
TxtContent.SelText = Clipboard.GetText
End Sub

Private Sub CmdCopy_Click()
'这只是按钮代码的起始而已,按钮名叫做CmdCopy,事件是单击
Clipboard.SetText TxtContent.SelText
'Clipboard指剪贴板;SetText是剪贴板对象的一个方法,用来设置剪贴板的内容;TxtContent是指一个文本框;SelText是文本框的一个属性,指文本框的内容
'翻译过来就是把剪贴板的内容设为文本框的内容,就是复制(因为原内容并没有消失,要实现剪切,在这句后面加一句TxtContent.SelText = "")
End Sub
'代码完毕
Private Sub CmdPaste_Click()
'按钮名叫CmdPaste,事件是单击
TxtContent.SelText = Clipboard.GetText
'TxtContent.SelText参见上文。Clipboard仍然指剪贴板,GetText指剪贴板的内容,是一个属性)
'翻译过来就是把文本框的内容设为剪贴板的内容,就是粘贴了
End Sub
'代码完毕
参考技术A Clipboard.Clear 清空剪切板
Clipboard.GetText text1.text 把text1的值赋给剪切板
Clipboard.SetText text2.text 把剪切板的值赋给text2本回答被提问者采纳
参考技术B 调用Clipboard

如何复制粘贴所有格式和值而不使用vb a中的select

如何在不使用select的情况下复制范围。我需要一切,不仅仅是价值观。目前庞大的代码:

Function Template(x As Integer)
    Sheets("Sheet1").Select
    Sheets("Sheet1").Range("E1:H5").Select
    Selection.Copy
    Sheets("Sheet2").Select
    Sheets("Sheet2").Cells(1, x).Select
    ActiveSheet.Paste
End Function

谢谢!!

答案

您可以使用Range.Copyhttps://msdn.microsoft.com/en-us/library/office/ff837760.aspx)复制范围而不进行选择,例如......

Range("A1").Copy Range("A2")

将从A1A2的所有内容(包括值和格式)复制。

另一答案
Function Template(x As Integer)
    Dim sourceRange As Excel.Range
    Dim destinationRange As Excel.Range

    Set sourceRange = Sheets("Sheet1").Range("E1:H5")
    Call sourceRange.Copy


    Set destinationRange = Sheets("Sheet2").Cells(1, x)
    Call destinationRange.PasteSpecial(xlPasteAll)

End Function

以上是关于VB中如何实现复制粘贴?的主要内容,如果未能解决你的问题,请参考以下文章

编程vb.net clipboard 剪切复制粘贴

VB中复制-粘贴-剪切键实现

VB如何利用剪贴板复制、粘贴文件,用到啥API

vb如何做剪切、复制、粘贴按钮

VB复制文本框文本问题

如何复制粘贴所有格式和值而不使用vb a中的select