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

Vba 将复制的文件从剪贴板粘贴到文件系统,vba,excel,vb6,Vba,Excel,Vb6,如果用户已将文件复制到文件系统中的剪贴板,我希望用户返回Excel电子表格并单击按钮。此按钮后面的代码应将此文件粘贴到预定义文件夹中 我知道通过VBA可以在剪贴板上读/写字符串。在VBA中,是否可以从剪贴板读取复制的文件并将其放在文件夹中(此操作期间不需要打开文件)?在资源管理器中将文件复制到剪贴板时,文件本身不会放在剪贴板上(如图所示,如果复制200GB的文件,会发生什么情况:)。相反,Explorer将文件路径等以特殊的剪贴板格式(即非文本)放置在剪贴板上。有关格式的更多信息,请访问 我没有

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


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

在资源管理器中将文件复制到剪贴板时,文件本身不会放在剪贴板上(如图所示,如果复制200GB的文件,会发生什么情况:)。相反,Explorer将文件路径等以特殊的剪贴板格式(即非文本)放置在剪贴板上。有关格式的更多信息,请访问


我没有与这些剪贴板格式密切合作,但在大多数情况下,您似乎会寻找CF_HDROP格式。您需要相当多的VBA来将数据传递到文件路径中,但从那里开始,只需简单的文件复制即可完成操作。

在资源管理器中将文件复制到剪贴板时,文件本身不会放在剪贴板上(如图所示,如果复制200GB的文件,会发生什么情况:)。相反,Explorer将文件路径等以特殊的剪贴板格式(即非文本)放置在剪贴板上。有关格式的更多信息,请访问


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

我认为要正确粘贴shell会很困难,下面是如何获取文件名,以便
FileCopy()
它们:不要将VBA问题标记为VB6.Bob,根据这里公认的答案,VBA和VB6基本上是同一种语言,因此我将VB6标记包括在内。我假设我的问题的解决方案可以应用于VBA和VB6。请注意,我关于剪贴板的问题并不特定于Excel对象模型。在VB6 IIRC中,您可以通过剪贴板对象直接执行此操作,而剪贴板对象在VBA中不可用。我认为要正确粘贴shell会很困难,下面是如何获取文件名,以便您可以
FileCopy()
Theme:不要将VBA问题标记为VB6。Bob,根据这里接受的答案,VBA和VB6基本上是同一种语言,因此我将VB6标记包括在内。我假设我的问题的解决方案可以应用于VBA和VB6。请注意,我关于剪贴板的问题并不特定于Excel对象模型。在VB6 IIRC中,您可以通过剪贴板对象直接执行此操作,而剪贴板对象在VBA中不可用。