如果用户已将文件复制到文件系统中的剪贴板,我希望用户返回Excel电子表格并单击按钮。此按钮后面的代码应将此文件粘贴到预定义的文件夹中。
我知道可以通过VBA向/从剪贴板读取/写入字符串。是否可以在VBA中从剪贴板中读取复制的文件并将其放在文件夹中(在此操作期间不需要打开文件)?
答案 0 :(得分:3)
当您在资源管理器中将文件复制到剪贴板时,文件本身不会放在剪贴板上(图像如果您复制200GB的文件会发生什么:))。取而代之的是Explorer剪贴板上的文件路径采用特殊的剪贴板格式(即非文本)。您可以在MSDN了解有关格式的更多信息。
我没有与这些剪贴板格式密切合作,但似乎在大多数情况下你会寻找CF_HDROP格式。您需要相当多的VBA来将数据按到文件的路径中,但从那里开始它就是一个简单的文件副本来完成操作。