如何将文本从vba复制到windows Clipbaord

Mae*_*o13 4 clipboard vba

我有一个 ms access vba 代码,我希望将一些文本值复制到 Windows 剪贴板,以便我可以将其粘贴到其他地方(Word/Excel/记事本/等)。

我一直在寻找这个,但一切似乎都过于复杂。难道不应该是简单的事情吗

剪贴板.SetText 文本值

编辑

我尝试按照 BrianMStafford 的提示进行操作,但没有成功。也许原因是我的对象是树中的一个节点。当我做

MsgBox Me.NodeKey.Value

一切正常 - 我在消息框中看到节点路径。

在此输入图像描述

但当我这样做时

Me.NodeKey.SetFocus
DoCmd.RunCommand acCmdCopy

我在剪贴板中没有获取节点路径

那么如何将节点路径值复制到Windows剪贴板中呢?

Cri*_*use 5

Public Sub WriteToClipboard(ByVal text As String)
    CreateObject("htmlfile").ParentWindow.ClipboardData.SetData "text", text
End Sub
Run Code Online (Sandbox Code Playgroud)

用法示例:

WriteToClipboard "test"
Run Code Online (Sandbox Code Playgroud)

编辑#1

上面的内容在 Excel 中似乎工作得很好。我只设法让它在特定计算机的 Access 中工作。在另一台计算机上进行测试后,我收到错误 70(访问被拒绝)。

仅当 Windows 资源管理器关闭时,以下内容才适用于 Excel。但是,无论资源管理器是否打开/关闭,它在 Access 中似乎都能正常工作:

Public Sub WriteToClipboard(ByVal text As String)
    With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") 'MsForms.DataObject
        .SetText text
        .PutInClipboard
    End With
End Sub
Run Code Online (Sandbox Code Playgroud)