背景 作为我的VBA宏中版本控制子程序的一部分,我打开存储在公司共享点上的文件夹中的.xlsm文件,并将其保存在本地硬盘上。 该文件由Workbooks.Open方法打开,即
Workbooks.Open Filename:="https://<mySharePointFolderPath> & "/file1.xlsm"
当我最初推出时,除了一个用户之外,它对团队中的每个人(包括我自己)都很好。起初我以为这是用户自己的网络问题(他们当天在家工作),但几天后他们在办公室里尝试了这个问题时,宏在上面的行再次失败了。错误消息显示:
“运行时错误'1004':Excel无法访问该文件。有几个可能的原因: - 文件名或路径不存在。 - 该文件正由另一个程序使用。”
但这些都不适用于我们的案例。 所以我开始测试这个,并以某种方式设法导致它也失败了。我不记得我到底做了什么,但是当我尝试从SP再次打开它时,或者当我暂时从SP中删除文件但是试图打开时,我在Excel中打开了file1.xlsm无论如何它与宏。最重要的是,现在每次我尝试时它都会失败,而它继续为其他人(除了那个其他用户)工作正常。
问题: 无法使用以下方法从Share Point打开文件:
Workbooks.Open Filename:="https://<mySharePointFolderPath> & "/file1.xlsm"
其他因素: 受影响的用户和我都能够:
Workbooks.Open Filename:="\\<mySharePointFolder> & "\file1.xlsm"
但它需要花费很长时间才能解决并仍然会触发错误1004消息。然而
从Excel /文件/打开菜单打开文件(即 文件/打开/ SharePoint站点等)给我们两个错误 消息:
“没有要显示的项目 - 我们无法打开此工作簿。它设置为仅显示某些命名项目,但它们不在工作簿中。您可能 想要联系作者以获取更多信息。“
虽然工作簿确实有一些隐藏的命名范围 其他可见的范围,但可以引用xlVeryHidden 工作表,他们都在工作簿中,我绝对肯定 那。另外,如果这是问题的原因,那么它不应该 只需重命名文件即可为其他用户工作。
因此,它的行为几乎就像Excel以某种方式记住它曾经尝试打开file1.xlsm失败并且每次尝试失败(不,它没有列在禁用的加载项下)。 / p>