You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过MS Access VBA将文本/树节点值复制到Windows剪贴板

MS Access VBA 复制指定文本到系统剪贴板(TreeView节点场景适配)

失败原因

DoCmd.RunCommand acCmdCopy为Access内置模拟复制命令,仅支持复制当前获得焦点控件原生暴露的可选中内置文本。TreeView树控件的节点路径属于节点属性值,不属于控件原生支持复制的选中文本范畴,即便执行SetFocus让控件获得焦点,命令也无法读取Me.NodeKey.Value的取值,因此无法写入剪贴板。
执行MsgBox Me.NodeKey.Value可正常弹出内容,证明节点取值逻辑本身无异常,无需调整树控件相关的取值代码。

最简实现方案

无需声明复杂Windows API,无需提前加载VBA引用,3行代码即可实现和预期clipboard.SetText逻辑一致的效果,兼容所有Access版本,复制后的内容可直接粘贴到Word、Excel、记事本等任意支持系统剪贴板的应用:

Dim clipObj As Object
Set clipObj = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
clipObj.SetText Me.NodeKey.Value ' 传入任意需要复制的文本值即可
clipObj.PutInClipboard

注意事项

  • 代码可直接嵌入树节点点击事件、自定义复制按钮的点击事件中运行,无需额外配置
  • 原生支持中文、特殊字符复制,无乱码问题
  • 若后续需要读取剪贴板内容,先执行clipObj.GetFromClipboard,再通过clipObj.GetText即可获取剪贴板内的文本值

内容的提问来源于stack exchange,提问作者Maestro13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 19:45:54