Коллекция Workbooks хранит имя (из открытых Workbooks) без пути в качестве индекса. При использовании Fullpath не открывается wb с таким именем -> элемент с таким индексом не найден -> в результате чего Subscript выходит за границы
Dim wb As Workbook
Set wb = Workbooks.Open("D:\CE\2019\2019 Dump.xlsb")
Dim wb2 As Workbook
Set wb2 = Workbooks("2019 Dump.xlsb")
Dim wb3 As Workbook
Set wb3 = Workbooks("not an opened wb") 'error here as not in collection
Dim wb4 As Workbook
Set wb4 = Workbooks.Item("not n opened wb") 'Workbooks("not n opened wb") is short for Workbooks.Item("not n opened wb") still error here as not in collection
Чтобы пояснить: Workbooks("wbname")
не будет открывать закрытый wb, по умолчанию (скрытый) член Workbooks
- это свойство _Default
, которое вызывает .Item
(поскольку это коллекция), а не .Open
.