Работает следующее:
cnStg = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & oFile.Path & "; Extended Properties='Excel 12.0 Xml;HDR=YES';"
cn.Open cnStg
Set adoWbkAsDatabase = CreateObject("ADOX.Catalog")
adoWbkAsDatabase.ActiveConnection = cn
For i = 0 To adoWbkAsDatabase.Tables.Count
If Mid(adoWbkAsDatabase.Tables(i).Name, 2, 10) = "XXXXXX XXX" Then
vSheetName = Split(Trim(Mid(adoWbkAsDatabase.Tables(i).Name, 12, 100)), "$")(0)
, но следующее:
Set adoWbkAsDatabase.Tables(i).Name = "XXXXXX XXX"
дает
Ошибка времени выполнения Microsoft VBScript: Требуется объект: 'adoWbkAsDatabase.Таблицы (...). Name'`
Я понимаю, что мой подход не должен работать, но есть ли способ изменить имя рабочего листа, используя Provider=Microsoft.ACE.OLEDB.12.0'
?