Excel vba: загрузка данных Excel в список Sharepoint с аутентификацией пользователя - PullRequest
0 голосов
/ 22 декабря 2018

В нашей компании пользователи имеют учетную запись Windows и учетную запись Office365 (так же, как имя пользователя и пароль Windows).Я создал список Sharepoint.Используя настройки списка Sharepoint, только некоторые суперпользователи могут читать / писать, другие пользователи могут только читать.Информация для списка SP должна быть загружена из ExcelWorkbook.Sheet («Форма»).Когда я использую этот код (ниже), суперпользователи могут загружаться в список SP только со своих учетных записей.Но необходимо, чтобы Суперпользователи могли загружаться с любого аккаунта.Когда я использую строку подключения cnt.Open ConnectionString:=strconn, UserID:="Superuser@mycompany.com", Password:="superuserpassword", тогда ошибка времени выполнения '-2147217843 (80040e4d)': неверное имя учетной записи или пароль.Когда я использую

cnt.Open ConnectionString:=strconn, UserID:="", Password:=""

или cnt.Open ConnectionString:=strconn, UserID:=Admin, Password:=""

, он работает только от учетной записи суперпользователя.Полный код:

Set cnt = New ADODB.Connection
Set rst = New ADODB.Recordset

strconn = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=0;RetrieveIds=Yes;DATABASE=https://mycompany.sharepoint.com/sites/Procesregister/;LIST={********-****-****-****-************};"
cnt.Open ConnectionString:=strconn
mySQL = "SELECT * FROM [Register];"
rst.Open mySQL, cnt, adOpenDynamic, adLockOptimistic 

rst.AddNew
    rst.Fields(1) = 0
    rst.Fields(3) = Range("cell1")
    rst.Fields(4) = Range("cell2")
    rst.Fields(5) = Range("cell3")
    rst.Fields(6) = Range("cell4")
    rst.Fields(7) = Range("cell5")
rst.Update

If CBool(rst.State And adStateOpen) = True Then rst.Close
Set rst = Nothing
If CBool(cnt.State And adStateOpen) = True Then cnt.Close
Set cnt = Nothing

Можно ли загрузить данные в список Sharepoint с правами суперпользователя (используя имя учетной записи суперпользователя и пароль) из учетной записи любой компании?Извините за мой английский.* UserID: = "Superuser@mycompany.com" такой же, как в excel> account> user information.Windows> Панель управления> Диспетчер учетных записей: MicrosoftOffice15_Data: orgid: superuser@company.com

...