VBA Excel Workbooks.Open只有在我手动打开的情况下才有效

我有一个Excel文件中的小VBA脚本来打开Windowsnetworking(2012 R2)中的另一个xlsx文件(在同一文件夹中)。

我得到错误1004(文件未find),如果我试图运行脚本(从一个button)后,我打开,但如果我打开目标文件手动第一,比我closures它,脚本运行正确时,我叫它.. 。

我在Mac OS X上使用Excel 2016和Windows 7在Excel 2013中使用2个不同的文件(名称) 在本地尝试了它,即使我不在networking中,也会遇到同样的问题。 我也尝试用不同的用户来testing权限。

我也尝试删除空间和其他特殊的字符,我得到了相同的结果。

我知道它可能与安全性有关,因为该文件包含macros和ODBC调用,但是我不知道哪些可以解决这个问题。

这是脚本:

Sub Ouvrir_donnees_commandeventes_actual_ibm() StopCalc Workbooks.Open "Compilation vente en ligne (VTE_LIGNE).xlsx" StartCalc End Sub 

任何人都可以帮助我find造成错误的原因吗? 谢谢

你需要使用完整的path,你可以做到这一点

 Workbooks.Open(Application.ThisWorkbook.Path & "/Compilation vente en ligne (VTE_LIGNE).xlsx") 

还记得在Mac上需要正斜杠,如果你在Windows上运行它,你需要改变\反斜杠,或使用Application.PathSeparator而不是硬编码后/斜杠。

 Workbooks.Open(Application.ThisWorkbook.Path & Application.PathSeparator & "Compilation vente en ligne (VTE_LIGNE).xlsx")