设置工作簿variables时出错 – 2147352565

我有一个简单的代码,运行在初始化一个用户窗体,设置一些工作簿和工作表variables,以便他们可以很容易地在我的模块的其余部分使用,并且引用可以很容易地改变在一个地方,如果文件移动。 我最近将我的工作簿从桌面迁移到一个单独的服务器/驱动器,并相应地更新了文件path; 然而,当我尝试运行代码,我立即得到的消息:

“运行时错误”-2147352565(8002000b)':无法将焦点移动到控件上,因为它是不可见的,未启用或不能接受焦点的types。

该错误发生在线上

Set ReportWkbk = Workbooks("N:\ rest of file pathway here\QuaRT_Template.xlsm") 

服务器/驱动器上是否有可能导致此问题的事情? 如果是这样,有什么我可以做的,以解决它? 我可以使用保存在同一位置的其他Excel工作簿,尽pipe它们的引用不在工作簿本身,而不是通过Visual Basic。

Subscript Out of Range错误发生是因为在Excel 的同一个实例中被引用的Excel工作簿未打开(或打开)。 您可以通过创build两个工作簿(命名一个WorkBook2.xlsx)并确保它们在Excel的单独实例中打开来轻松地重现该错误。 然后运行这个代码:

 Sub OpenWkbkNames() Dim wbk As Workbook For Each wbk In Workbooks Debug.Print wbk.Name Next 'Hmm. Workbook 2 is not listed, but lets activate it and see what happens. Workbooks("workbook2.xlsx").Activate End Sub 

您可以通过循环遍历在Excel的THIS实例中打开的工作簿的名称来避免此问题,以确保其可用。

我一直在研究Run-time error '-2147352565 (8002000b)'并发现这个: https : Run-time error '-2147352565 (8002000b)'

显然,这也是VS下Subscript Out of Range越界的方式。 我怀疑(但没有坚实的证据),因为代码在本地工作,但问题出现在文件被迁移到共享驱动器,Windows需要很长时间才能打开该文件,因此在Excel的新实例中打开它。 实质上,Excel变得不耐烦,决定在Windows完成任务时继续前进。 我将这个假设基于添加到Excel 2013的检测逻辑( https://blogs.office.com/2013/06/03/opening-workbooks-by-running-separate-instances-of-excel/ )。