Может использовать Workbook.Checkout, но Workbook.Checkin не работает для некоторых пользователей - PullRequest
0 голосов
/ 13 января 2020

У нас есть электронная таблица, хранящаяся на сервере Sharepoint, которую все пользователи могут читать вручную, но также некоторые утвержденные пользователи имеют доступ для записи, который используется главным образом через книгу с макросами (полностью отделенную от основного листа Sharepoint) , В книге с поддержкой макросов (я назову ее «формой») для подключения к «основной» книге используется следующий код:

Set xlApp = New Excel.Application
    xlApp.DisplayAlerts = False
    masterOpen = False
    With Application.Workbooks
        If .CanCheckOut(UNCmasterRecordPath) Then
            .CheckOut Filename:=UNCmasterRecordPath
            Set wb = xlApp.Workbooks.Open(Filename:=UNCmasterRecordPath, UpdateLinks:=xlUpdateLinksAlways, ReadOnly:=False)
            masterOpen = True   ' This is used in an error handler to try the http: path if UNC path fails
        Else
            MsgBox "The Vacation Master Record is currently checked out, please try again later."
            Exit Sub
        End If
    End With

После внесения необходимых изменений мой код затем использует :

wb.CheckIn SaveChanges:=True

Вышеописанное работает отлично для большинства пользователей, а до Рождества оно работало для всех пользователей. Поскольку в новом году (который может или, возможно, не принес обновление на сервер Sharepoint, я не уверен), небольшое количество пользователей получает сообщение об ошибке при достижении линии wb.CheckIn. Я исправил это для одного из затронутых пользователей, ослабив некоторые настройки Excel Trust Center (Macro Security установлен на «Включить все», безопасный режим для ActiveX отключен), но даже с такими же изменениями на компьютере другого пользователя он по-прежнему выдает «Это документ не может быть проверен в 'ошибка в строке wb.CheckIn.

Я попытался wb.Save, а затем wb.CheckIn SaveChanges:=False безрезультатно. Что меня удивляет, так это то, что он явно рад разрешить действие Checkout, но что-то вызывает проблему с методом Checkin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...