有什么方法可以从Access VBA读取非文本剪贴板数据吗?

问题描述 投票:0回答:1

我有一个数据库,我在其中实现了文件和电子邮件/附件的拖放功能,但我的用户有 1280p 屏幕,所以我认为他们可能更容易复制和粘贴(我可能只会使用“使用剪贴板中的数据”按钮)。问题是,我看到的用于从剪贴板获取数据的所有 VBA 代码都是针对使用 Excel 用户窗体的,而 DataObject 对象和 GetFromClipboard 方法所需的 MS Forms 库在不创建用户窗体的情况下甚至不可用。

我想可以将一些东西拼凑在一起,用用户窗体打开隐藏的 Excel 工作簿来充当某种数据代理,但我真的不想增加这种开销。

vba ms-access clipboard
1个回答
0
投票

这个问题有一些误解。

  1. 您可以在 Access 中引用 Microsoft Forms 就可以了。只需打开参考浏览器,浏览至System32,添加FM20.dll

  2. 您可以使用

    GetFromClipboard
    而无需创建用户表单。只需先添加参考,然后:

     Dim d As New DataObject
     d.GetFromClipboard
    

还有关于如何在 Access 中使用 WinAPI 剪贴板的示例,例如https://learn.microsoft.com/en-us/office/vba/access/concepts/windows-api/retrieve-information-from-the-clipboard用于文本,https://stackoverflow.com/ a/53161232/7296893 用于电子表格数据。

© www.soinside.com 2019 - 2024. All rights reserved.