Я читаю некоторые данные Excel с помощью ADO и хочу получить некоторые значения столбца OpenSchema.
Моя строка подключения (которая успешно открывает подключение):
Поставщик= Microsoft.ACE.OLEDB.12.0; Источник данных = C: [мой путь] .xlsx; Расширенные свойства = "Excel 12.0 Xml; HDR = YES; IMEX = 1;";
Я могуСчастливо откройте набор записей AdSchemaTables и получите имя таблицы:
Set tablesRs = conn.OpenSchema(AD_SCHEMA_TABLES)
Do While Not tablesRs.EOF
tbl = tablesRs.Fields("TABLE_NAME")
/../
Loop
И для таблицы с именем, подобным Sheet1$
, я также могу с радостью прочитать данные моего столбца:
Set colsRs = conn.OpenSchema(AD_SCHEMA_COLUMNS, Array(Empty, Empty, tbl))
Моя проблема в том, что имя одного из листов содержит дефисы, например, «16-11-2018», и это, кажется, выдает ошибку 3251.Я пробовал с и без кавычек "16-11-2018" и квадратных скобок "[16-11-2018]", но первый выбрасывает 3251, а второй возвращает пустой набор записей.
Я знаю, что данные хороши, потому что, если я копирую лист в другую книгу с общим именем листа, мой код работает нормально.Поэтому я предполагаю, что моя проблема связана с этим именем листа.
Есть ли способ справиться с этим именем листа?