Запрос наличия листа в закрытой книге - VBA

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

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

Здравствуйте. прошу помощи. Задача - узнать есть ли определенный лист в закрытой книге без его открытия. Макрос обрабатывает большой массив данных, хочется сэкономить ресурсы и открывать только те файлы в которых данные есть. На данный момент я нашел только один вариант через ADO, но для меня это темный лес. Лист который необходим на проверку называется "МСФО", в рамках ADO прошу дописать именно эту часть кода по поиску листа.
Листинг программы
  1. Dim Con As New ADODB.Connection
  2. With Con
  3. .Provider = "Microsoft.Jet.OLEDB.4.0"
  4. .ConnectionString = "Data Source=" & fil.Path & ";Extended Properties=Excel 8.0;"
  5. .Open
  6. End With
Вся эта проблема с необходимостью не открывать файлы возникла по причине того, что некоторые книги имеют встроенные макросы, которые запускаются при открытии. Что за макросы я не знаю, так как код запаролен и мне недоступен. При использовании
Листинг программы
  1. Workbooks.Open(fil.Path)
выдает ошибку Run-time error 9: Subscript out of range. Пробовал делать так:
Листинг программы
  1. Workbooks.Open(fil.Path, UpdateLinks:=False, ReadOnly:=True)
и еще вот так
Листинг программы
  1. Workbooks.Open(fil.Path, UpdateLinks:=False, ReadOnly:=True).RunAutoMacros xlAutoClose
Но результат один и тот - ошибка. Все галочки о безопасном режиме стоят. Итого 2 вопроса: 1 Как открыть файл с запретом ему выполнять чтобы там ни было (сценарии, связи, макросы и тд)? 2 Либо допишите пожалуйста через ADO запрос необходимого листа "МСФО" Спасибо.

Решение задачи: «Запрос наличия листа в закрытой книге»

textual
Листинг программы
  1.     rs.find "TABLE_NAME='" & nameList & "$'"
  2.     If Not rs.EOF Then FindList = True

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


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

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

5   голосов , оценка 4.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы