Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
Vba Excel OLE对象嵌入路径位置_Vba_Excel_Ole - Fatal编程技术网

Vba Excel OLE对象嵌入路径位置

Vba Excel OLE对象嵌入路径位置,vba,excel,ole,Vba,Excel,Ole,正如标题所述,我还没有找到一种方法来检索嵌入对象的名称或其路径(附图) 在提供的示例中,我希望获得完整路径位置或67CE8。。。至少命名-因为我知道它们存储在临时文件夹中-,所以我可以通过VBA自动保存它们。 我尝试了“.SourceName”,但运气不好,因为它似乎只获得超链接(但没有真正的超链接,因此出现错误1004)。 编辑注释中的代码: ActiveSheet.OLEObjects.Add(Filename:= _ "https://...dummylink" _ , Link:=Fal

正如标题所述,我还没有找到一种方法来检索嵌入对象的名称或其路径(附图)

在提供的示例中,我希望获得完整路径位置或67CE8。。。至少命名-因为我知道它们存储在临时文件夹中-,所以我可以通过VBA自动保存它们。 我尝试了“.SourceName”,但运气不好,因为它似乎只获得超链接(但没有真正的超链接,因此出现错误1004)。
编辑注释中的代码

ActiveSheet.OLEObjects.Add(Filename:= _ "https://...dummylink" _ , Link:=False, DisplayAsIcon:=False).Select x = Selection.Name Selection.Verb Verb:=xlPrimary

查看图像中的图标,您插入了一个对象,该对象是一个文件,未勾选“链接到文件”,这意味着(正如您所引用的)它是嵌入的,它没有路径,因为它存在于文件中

我发现前面的问题得到了回答,但如果不弹出一个对话框,我就无法运行这个问题

很可能有其他方法可以做到这一点,但在Word a中也有类似的问题,我使用以下步骤解决了它:-

  • 选择并复制对象
  • 创建新文档(工作簿)
  • 将对象粘贴到
  • 将新文档(工作簿)另存为HTML
  • 查看保存的包中唯一的图像文件(因为它是文件中唯一的内容)
  • 把它移到一个地方,这样我就可以在其他地方使用它了
  • 删除新文档(工作簿)及其HTML副本

  • 似乎除了处理临时文件之外没有其他方法了,我在这里得到了一个解决方案代码的答案,再次感谢

    你是说超链接之类的东西,用于从PC嵌入的图片或形状。请发布你正在使用的代码抱歉!代码是:ActiveSheet.OLEObjects.Add(文件名:=\uux)https://...dummylink“\ux,Link:=False,DisplayAsIcon:=False).Select x=Selection.Name Selection.Verb:=xlPrimary@skkakkar类,我注意到在检索后,对象存储在临时文件夹中。我尝试了链接中提供的解决方案,但是,我一直得到一个“1004无法获取OLEObject类的object属性”嗯,你有一个有趣的对象。我建议采取这些步骤,而不是追求这一选择。但是,由于其他人可能已经有了答案,因此更深入地理解您的问题会很有用。您能否写出将对象放入excel文件所需的步骤。我通过以下代码获得它:ActiveSheet.OLEObjects.Add(文件名:=\ux)https://...dummylink“\ux,Link:=False,DisplayAsIcon:=False).Select x=Selection.Name Selection.Verb-Verb:=xlPrimary有趣的是,我刚刚发现,如果我单独运行它,它不会检索对象,但是,我需要从同一个域收集一些其他数据,当首先运行该数据时,我可以运行此数据。对不起,Sgdva,我刚刚做了另一个测试,以确保我所说的是正确的。您将永远无法获取嵌入对象的路径,因为它是嵌入的(
    Link:=False
    )。嵌入将源的副本放置到Excel文件中,并且不保留路径。如果您链接到它(
    link:=True
    ),那么您将能够从
    .SourceName
    获取您怀疑的路径。不要担心!不幸的是,如果我设置Link:=True,该对象不会下载到硬盘,它只是本地临时文件夹中的一个“.tmp”文件。