Обращение к листу 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 [" + ИмяЛиста + "]";
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д