测品娱乐
您的当前位置:首页在VB或VBA中,如何调用API复制文本到剪贴板

在VB或VBA中,如何调用API复制文本到剪贴板

来源:测品娱乐
在VB或VBA中,如何调用API复制文本到剪贴板

在VBA中经常使用以下语句,来复制文本到剪贴板,但有时会出错。

Dim MyData As New DataObject MyData.SetText sData, 1 MyData.PutInClipboard

为了复制文本到剪贴板更加稳定,应该调用API来处理:

'复制文本到剪贴板

Public Sub CopyTextToClip(sData As String) If CBool(OpenClipboard(0)) Then

Dim hMemHandle As Long, lpData As Long

hMemHandle = GlobalAlloc(0, LenB(sData) + 2)

If CBool(hMemHandle) Then

lpData = GlobalLock(hMemHandle) If lpData <> 0 Then

CopyMemory ByVal lpData, ByVal sData, LenB(sData) GlobalUnlock hMemHandle EmptyClipboard

SetClipboardData CF_TEXT, hMemHandle End If End If

Call CloseClipboard End If End Sub

因篇幅问题不能全部显示,请点此查看更多更全内容