OpenSchema (adSchemaColumns) для таблицы с дефисами в имени

Ambie спросил: 03 ноября 2018 в 08:55 в: excel

Я читаю некоторые данные Excel с помощью ADO и хочу получить некоторые значения столбца OpenSchema.

Моя строка подключения (которая успешно открывает подключение):

Provider = Microsoft.ACE.OLEDB.12.0; Источник данных = C: [mypath] .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, а второй возвращает пустой набор записей.

Я знаю, что данные хороши, потому что если я копирую лист в другую книгу с общим именем листа, мой код работает нормально. Поэтому я предполагаю, что моя проблема связана с именем этого листа.

Есть ли способ справиться с этим именем листа?


0 ответов