Я сталкиваюсь с проблемами в VBA при изменении пути подключения к данным, используемого в Power Pivot. Я работаю в Office 365 с Windows 10 и делюсь своими файлами на Sharepoint для бизнеса.
Через Power Pivot я подключаюсь к базе данных Access (на Sharepoint). Наша команда должна ежедневно обновлять данные, чтобы получать последние результаты. Поскольку я создал файл и подключение к данным, путь к источнику данных указан с моим именем пользователя. Если коллега хочет обновить данные, ему / ей нужно вручную go перейти на вкладку Power Pivot и внести изменения в существующее соединение. Поэтому я пытаюсь написать код VBA для автоматизации соединения данных в зависимости от пользователя.
Я прочитал много постов здесь и на форуме Office, но мне не удалось пройти следующую ошибку:
Run Time Error '1004'Application-defines or object-defines error
У меня есть 4 простых шага:
1. Получить имя пользователя из среды Office
2. Получить сведения о соединении данных (с путем к источнику данных)
3. Измените сведения о соединении, указав новое имя пользователя в пути
4. Обновите соединение * Где я получаю ошибку
Вот воспроизведение моего кода:
Sub Connection_Change()
Dim ConnectString As String
Dim NewConnectString As String
Dim U As String
U = Environ$("UserName")
ConnectString = ThisWorkbook.Connections("My Data Connection").OLEDBConnection.Connection
NewConnectString = "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\" & U & "\OurCompanySharepoint\OurTeamFile\OurFodler\OurDatabase.accdb;Persist Security Info=false"
ThisWorkbook.Connections("My Data Connection").OLEDBConnection.Connection = NewConnectString
End Sub
Есть идеи, что вызывает ошибку?