У меня следующая проблема: у меня есть файл 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