Обращение к листу Excel по номеру с помощью ADODB - VB
Формулировка задачи:
Помогите чайнику, пожалуйста.
У меня есть такой запрос, он работает:
"SELECT * FROM [" + ИмяЛиста + "$]"
Но имя листа может быть произвольным, оно неизвестно. Можно ли как-то выбрать не по названию листа, а по номеру? Использование Лист1 не работает, если лист переименован.
У меня есть такой запрос, он работает:
"SELECT * FROM [" + ИмяЛиста + "$]"
Но имя листа может быть произвольным, оно неизвестно. Можно ли как-то выбрать не по названию листа, а по номеру? Использование Лист1 не работает, если лист переименован.
Решение задачи: «Обращение к листу Excel по номеру с помощью ADODB»
textual
Листинг программы
Если ЗначениеЗаполнено(ИмяНомерЛиста.Имя) Тогда
ИмяЛиста = ИмяНомерЛиста.Имя;
Иначе
ADOXCatalog = Новый COMОбъект("ADOX.Catalog");
ADOXCatalog.ActiveConnection = ADODBConnection;
ПереченьАдоТаблиц = ADOXCatalog.Tables;
Номер = 1;
Для Каждого АдоТаблица Из ПереченьАдоТаблиц Цикл
ИмяЛиста = АдоТаблица.Name;
Если Прав(ИмяЛиста, 1) = "$" Тогда //это правильная таблица. а бывает еще ИмяЛиста$Область_печати
Если Номер = ИмяНомерЛиста.Номер Тогда
Прервать;
КонецЕсли;
Номер = Номер+1;
КонецЕсли;
КонецЦикла;
КонецЕсли;
ТекстЗапроса = "SELECT * FROM [" + ИмяЛиста + "]";