Строка подключения VBA ADO для рабочей книги с путем, содержащим пробелы и запятые

#excel #vba #connection-string #ado #adodb

#excel #vba #строка подключения #ado #adodb

Вопрос:

Как я могу заставить это работать? Если в пути к рабочей книге нет пробелов или запятых, он работает просто отлично, но внедрение OneDrive испортило путь к рабочей книге, который должен работать как адрес базы данных.

Я заключил ее в кавычки, но это тоже не сработало.

Я получаю эту ошибку:

Внешняя таблица не в ожидаемом формате.

введите описание изображения здесь

 Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection

With cnn
    .Provider = "Microsoft.ACE.OLEDB.12.0;"
    .ConnectionString = "Data Source=C:UsersabcOneDrive - My Company, IncDesktopForm_v.0.996.xlsm;Extended Properties='Excel 8.0;HDR=No;IMEX=1'"
    .Open
End With
    
  

Комментарии:

1. Просто для ясности, вы пробовали Data Source='C:UsersabcOneDrive - My Company, IncDesktopForm_v.0.996.xlsm';Extended Properties='Excel 8.0;HDR=No;IMEX=1'" ?

2. @Profex да, я пробовал

3. Если я укажу неверный путь, в ошибке будет указано: «недопустимый путь», но, поскольку ваша ошибка связана с внешней таблицей / форматом. Я думаю, что с файлом что-то не так.

4. да, файл был открыт только для чтения

Ответ №1:

Я выяснил, в чем проблема: я открывал рабочую книгу ReadOnly:=True , которая ADO не принимает в качестве правильного формата для базы данных