Private Sub Workbook_Open()
Dim SourceList(0) As Workbook
Dim PathList() As String
Dim n As Integer
PathList = Split("\data\WeaponInfo.csv", ",")
ThisWorkbook.Activate
Application.ActiveWindow.Visible = False
Application.ScreenUpdating = False
For n = 0 To Ubound(PathList)
Workbooks.Open Filename:=ThisWorkbook.Path & PathList(n)
Set SourceList(n) = ActiveWorkbook
ActiveWindow.Visible = False
Next
Application.ScreenUpdating = True
Workbooks.Open Filename:=ThisWorkbook.Path & "\HeroForge Anew 3.5 v7.4.0.1.xlsm", UpdateLinks:=3
ActiveWindow.Visible = True
Application.DisplayAlerts = False
For n = 0 To UBound(SourceList)
SourceList(n).Close
Next
Application.DisplayAlerts = True
End Sub
线什锦VBA阵列迭代困境For n = 0 to PathList.GetUpperBound(0)
抛出一个“编译错误(无效限定符)每当我尝试运行该宏。具体来说它突出PathList
作为该问题。
另外,如果我切出的循环,只是有内容运行一次(更换PathList(n)
与"\data\WeaponInfo.csv"
),它抛出一个“对象变量或带块变量未设置”错误的SourceList(0) = ActiveWorkbook
行。我在做什么错?
我“ m知道循环目前没有意义;这是未来的防护,因为我打算使用这个宏来打开多个数据引用。
编辑:由@Jeremy建议的更改,现在在SourceList(n).Close
行上得到“对象变量或块变量未设置”错误。
EDIT2:固定循环,再次@Jeremy的建议,通过改变Dim SourceList(1) As Workbook
到Dim SourceList(0) As Workbook
首先需要声明什么类型的n是 –
接着说:暗淡N作为Integer'的声明。没有效果。 –
你为什么要拆分pahtlist? –