Я пытаюсь проверить, открыт ли файл рабочей книги ниже в режиме редактирования, когда код пытается запустить. Я пытаюсь планировать, когда это будет ошибка, потому что кто-то еще находится в файле. Мне нужно, чтобы Workbook.Open
был открыт как ReadOnly = False
, потому что, если в нем нет, мне нужно сохранить его после обновления.Как обойти предупреждение «Только для чтения» SharePoint при открытии книги Excel с помощью VBA.
Проблема, с которой я столкнулся, заключается в том, что даже с DisplayAlerts = False
при запуске линии Workbook.Open
я получаю приглашение на экране, в котором говорится: «Файл заблокирован для редактирования (некоторым пользователем). Вы хотите: просмотреть прочитанный - копировать или сохранять и редактировать копию файла ». Существует также флажок, указывающий «Получить уведомление, когда файл сервера доступен». DisplayAlerts = False
, похоже, не отменяет приглашение SharePoint. Любые идеи о том, почему это не отменяет пром? Я хочу добраться до точки в коде, где он пытается открыть в режиме редактирования, и не может, а затем переходит к строке If Activeworkbook.Readonly Then
и выходит из подкаталога. Сейчас он останавливается и ждет выбора в приглашении SharePoint.
Sub SendFCSpec()
MsgBox ("Please wait while your comments are sent to the database.")
ActiveSheet.Unprotect Password:="BAS1"
'Turn Screen Updating and Alerts off
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Disable Macros on AutoOpen of the Excel Workbook
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Workbooks.Open Filename:="http://Sharepoint.com/QA/FC%20QA%20Workshop/Databases/Dec/FC%20Spec%20Database.xlsm", _
UpdateLinks:=3, ReadOnly:=False
If ActiveWorkbook.ReadOnly Then
ActiveWorkbook.Close
MsgBox "Another user has the database open. Unable to submit comments at this time."
Application.AutomationSecurity = msoAutomationSecurityLow
Exit Sub
End If
Application.AutomationSecurity = msoAutomationSecurityLow
ActiveWorkbook.Save
ActiveWorkbook.Close
ActiveSheet.Select
ActiveSheet.Protect Password:="BAS1", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowSorting:=True, AllowFiltering:=True
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox ("Comments have been saved to the Database. Thanks")
End Sub
Wow. Я прочитал руководство по книге Workbook.Open и полностью не видел остальных объяснений Notify. Благодаря! – arooney88