Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用文件资源管理器将多个嵌入的OLE对象保存到目标文件夹_Excel_Vba - Fatal编程技术网

Excel 使用文件资源管理器将多个嵌入的OLE对象保存到目标文件夹

Excel 使用文件资源管理器将多个嵌入的OLE对象保存到目标文件夹,excel,vba,Excel,Vba,我有一个工作簿,用户可以在其中嵌入对象。我想将所有这些文件解压缩到一个文件夹中 我从用户A.S.H.那里看到了下面的代码(我对我的要求做了一些调整,但没有对问题进行任何更改)。它运行,但不执行对所选文件夹的粘贴 如何修复此代码,或者是否有其他方法将对象保存到文件夹 Option Explicit Public Sub Send() Dim folder As String, obj As OLEObject Shell "explorer " & fo

我有一个工作簿,用户可以在其中嵌入对象。我想将所有这些文件解压缩到一个文件夹中

我从用户A.S.H.那里看到了下面的代码(我对我的要求做了一些调整,但没有对问题进行任何更改)。它运行,但不执行对所选文件夹的粘贴

如何修复此代码,或者是否有其他方法将对象保存到文件夹

Option Explicit
Public Sub Send()
    Dim folder As String, obj As OLEObject
    Shell "explorer " & folder, vbMaximizedFocus
   
    For Each obj In Worksheets("Emails").OLEObjects
        Application.Wait Now + TimeValue("00:00:01") ' necessary, give it a moment
        obj.Copy
        SendKeys "^v" ' paste in explorer
    Next
    SendKeys "%fc" ' close the explorer
End Sub
三件事:

  • 您确定工作表中有对象吗
  • 在子文件夹中声明变量文件夹,但不为其赋值,然后在默认路径上打开资源管理器,可能是无法粘贴任何内容的“集合”
  • 并非所有对象都可以以这种方式粘贴

  • 否则,代码将起作用;唯一重要的是指定保存文件的目录。

    在资源管理器窗口中复制对象的想法恐怕行不通。尝试手动执行此操作,您将看到关联菜单的
    粘贴
    选项变灰。我知道如何从剪贴板粘贴文件,但Microsoft不允许在应用程序之外复制此类对象。最初,您可以复制其中一些文件,如“废弃”文件。你能指定这样一个代码被确认工作的链接吗?