工作簿的运行时错误9.激活



当我尝试使用函数

时,我在Visual Basic中出现了错误
Workbooks("C:Documents and SettingsNegatest.xls").Activate

错误提示:

Error 9 in run time Error:下标超出范围.

我看到很多关于扩展名的帖子,但我的文件存在并且扩展名是正确的。

是特权的问题吗?在这种情况下,我如何在VBA中为这个目录添加特权?

注意:如果我做Workbooks("test.xls")。激活它工作(Ofc,与文件进入项目)。因此,我认为这是关于特权的。

谢谢你的帮助

关于你的问题和它不起作用的原因的一些细节:

"Workbooks"是当前在Excel中打开的文件的集合

  • 你的文件存在于磁盘上,但如果没有打开,它不存在于工作簿集合中,所以第一步是打开它(按建议)
  • 文件打开后,Excel将其添加到工作簿集合中。你可以在VBA中突出显示单词"Workbooks",并将其添加到"监视"窗口中,以查看其所有项目(文件)和每个项目的属性
  • 您可以通过。name访问集合中的项
    • 名称中不包含路径,只包含name .ext
  • 如果文件尚未保存,则文件名不包含扩展名

.

Option Explicit
Sub wbActivate()
    Dim wb As Workbook
    MsgBox Workbooks.Count  'currently open files count: 1
    Set wb = Workbooks.Open("C:test.xls")
    MsgBox Workbooks.Count  'currently open files count: 2
    wb.Activate                     'the file we just opened
    Workbooks("test.xls").Activate  'the file we just opened
    Workbooks("book1").Activate     'initial file (unsaved yet)
End Sub

这里有几件事需要修正:

  • 文件路径中缺少冒号。应该是C:Documents and SettingsNegatest.xls.

  • 函数名中有一个错字,应该是Workbooks

  • 你不能激活一个文件,除非它是打开的,所以首先你需要确保它已经打开。您可以使用以下命令:

    Call Workbooks.Open("C:Documents and SettingsNegatest.xls").Activate
    

不能在workbooks.activate中使用路径名当/因为Excelfile已经打开时,它只需要文件名而不需要路径。所以手册("C: MN DoubleClick.xlsx")。激活将给出错误而工作簿("双击工作列表BTN.xlsx")。激活将工作完美

相关内容

最新更新