Ich habe ein Script gefunden, das es verbietet, in einer bestehenden Excel-Instanz, eine Datei zu öffnen. Sie öffnet sich in einer zweiten Instanz.
Könnte man dieses Script womöglich vereinfachen?
Dieser "Schreibschutz" verwirrt mich etwas, die Datei wird nämlich zuerst schreibgeschützt geöffnet und dann wieder schreibfähig. Ich möchte nicht, dass während dem "Öffnen-Vorgang" Dateien irgendwie gespeichert werden :)
Danke für eure Hilfe und liebe Grüsse
Matthias
Private WithEvents oAppEvents As Application
Private oWb As Workbook
Private Sub Workbook_Open()
Dim oNewApp As New Application
If Application.Workbooks.Count > 1 Then
Me.ChangeFileAccess xlReadOnly
oNewApp.Workbooks.Open Me.FullName
oNewApp.Visible = True
Me.Close False
End If
Set oAppEvents = Application
End Sub
Private Sub oAppEvents_NewWorkbook(ByVal Wb As Workbook)
Dim oNewApp As New Application
Wb.Close False
oNewApp.Workbooks.Add
oNewApp.Visible = True
End Sub
Private Sub oAppEvents_WorkbookOpen(ByVal Wb As Workbook)
If Wb Is Me Then Exit Sub
Set oWb = Wb
oWb.ChangeFileAccess xlReadOnly
Application.OnTime Now, Me.CodeName & ".CloseWB"
End Sub
Private Sub CloseWB()
Dim oNewApp As New Application
oNewApp.Workbooks.Open oWb.FullName
oNewApp.Visible = True
oWb.Close False
End Sub