Обращение к листу Excel по номеру с помощью ADODB - VB

Узнай цену своей работы

Формулировка задачи:

Помогите чайнику, пожалуйста.
У меня есть такой запрос, он работает:
"SELECT * FROM [" + ИмяЛиста + "$]"
Но имя листа может быть произвольным, оно неизвестно. Можно ли как-то выбрать не по названию листа, а по номеру? Использование Лист1 не работает, если лист переименован.

Решение задачи: «Обращение к листу Excel по номеру с помощью ADODB»

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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы