Метод Workbooks.open для открытия в режиме только для чтения и подавления окна уведомлений. - PullRequest
0 голосов
/ 28 февраля 2020

У меня следующая проблема: у меня есть файл Excel, который находится на сервере в моей сети, который постоянно открыт на ноутбуке 1. На ноутбуке 2 у меня есть второй файл Excel, который должен показать один лист этого файла. У меня есть макрос, который автоматически обновляет файл на ноутбуке 2, где макрос копирует фактическое состояние листа на ноутбуке 1.

Интересно, что всякий раз, когда я запускаю макрос вручную, я не получаю уведомление от Excel, что файл в настоящее время используется, и если я хочу открыть его только для чтения. Я получаю уведомление только тогда, когда макрос вызывается автоматически.

Есть идеи, как можно убедиться, что окно уведомлений отключено, файл открыт только для чтения и макрос может работать правильно?

   Sub UpdateOutputSheet()

RunTimer = TimeValue("05:00:00")
Application.OnTime RunTimer, "UpdateOutputSheet"

Dim sourceworkbook As Workbook
Dim currentworkbook As Workbook
Dim SourceFilename As String
Dim SourcePath As String
Dim SourceFile As String

Application.ScreenUpdating = False

SourceFilename = "Filename.xlsm"
SourcePath = "S:\Filelocation"

SourceFile = SourcePath & SourceFilename

Set currentworkbook = ThisWorkbook

Set sourceworkbook = Workbooks.Open(Filename:=SourceFile, ReadOnly:=True, IgnoreReadOnlyRecommended:=True)


sourceworkbook.Sheets("SourceSheet").Range("A1:X100").Copy Destination:=currentworkbook.Sheets("DestinationSheet").Range("A1")

sourceworkbook.Close SaveChanges:=False

Application.ScreenUpdating = True



Range("A1").Value = "Letztes Auto-Update:"
Range("A1").Font.Bold = True
Range("C1").Value = Format(Now, "dd/mm/yyyy HH:mm")

Set sourceworkbook = Nothing
Set currentworkbook = Nothing


MsgBox "Automatisches Update: Maschinenbelegung aktuell", vbInformation

End Sub

enter image description here

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