将复制的文件从剪贴板粘贴到文件系统

时间:2014-02-11 09:24:39

标签: vba excel-vba vb6 excel

如果用户已将文件复制到文件系统中的剪贴板,我希望用户返回Excel电子表格并单击按钮。此按钮后面的代码应将此文件粘贴到预定义的文件夹中。

我知道可以通过VBA向/从剪贴板读取/写入字符串。是否可以在VBA中从剪贴板中读取复制的文件并将其放在文件夹中(在此操作期间不需要打开文件)?

1 个答案:

答案 0 :(得分:3)

当您在资源管理器中将文件复制到剪贴板时,文件本身不会放在剪贴板上(图像如果您复制200GB的文件会发生什么:))。取而代之的是Explorer剪贴板上的文件路径采用特殊的剪贴板格式(即非文本)。您可以在MSDN了解有关格式的更多信息。

我没有与这些剪贴板格式密切合作,但似乎在大多数情况下你会寻找CF_HDROP格式。您需要相当多的VBA来将数据按到文件的路径中,但从那里开始它就是一个简单的文件副本来完成操作。