Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1384to1388
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Datei öffnen in zweiter Instanz

VBA Datei öffnen in zweiter Instanz
03.10.2014 21:36:42
Matthias
Hallo zusammen
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

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Datei öffnen in zweiter Instanz
04.10.2014 04:52:14
Luschi
Hallo Matthias,
poste doch mal die Quelle dieses Vba-Codes. Mit diesen Teilsegmenten kann man das nicht nachbauen den es wird keine Wirkung erzielt, weil:
- oAppEvents_WorkbookOpen ist keine normale Ereignis-Routine
- muß in einem Klassenmodul oder AddIn stehen
- es fehlt die passende WithEvents-Definition dazu
Gruß von Luschi
aus klein-Paris

'With Events' ist doch da, ...
04.10.2014 06:56:30
Luc:-?
…Luschi,
steht oben drüber (weil nicht mit Tags markiert von ForumsAutomatik nicht miterfasst).
Halte das übrigens für ein ganz normales Klassenmodul der Application, deren Ereignisse standardmäßig bereits festgelegt sind. Es muss also nur das Klassenmodul angelegt und die 3(?) letzten Prozeduren darin notiert wdn (das Vorstehende in das DokKlassenmodul der Mappe).
Morrn, Luc :-?

Anzeige
AW: 'With Events' ist doch da, ...
04.10.2014 10:37:22
Luschi
Hallo Luc,
hast recht, war ein bischen früh heute- aber der Rest past einfach nicht zusammen:
- keine Erwähnung von einem Klassenmodul
- kein Hinweis auf die Quelle der Infos
- & schon gar kein Demo-Beispiel, wie es die fleißigen Helferlein lieben.
Gruß von Luschi
aus klein-Paris

Na, da hat er wohl einfach nur die Pgmm ...
04.10.2014 14:19:38
Luc:-?
…kopiert und nicht auch die sicher ursprüngl vorhandene Erläuterung, Luschi,
was mich bei seinem VBA-Level auch nicht verwundert, denn bei dem sind doch „alle (VBA-)Katzen (noch) grau“… ;-]
Gruß → Leibsch + schöWE, Luc :-?

AW: VBA Datei öffnen in zweiter Instanz
04.10.2014 19:35:56
Matthias
Hallo zusammen
Hätte ich bisher etwas verstehen müssen? :)
Der Code stammt von hier: http://www.mrexcel.com/forum/excel-questions/483382-dont-allow-another-workbook-open-instance.html
Und wenn ich den Code in ein WB einfüge, klappt es schon. D.h. jede weitere Datei die ich öffne, öffnet sich in einer zweiten Excelinstanz. Aber ich verstehe nicht genau was mit dem Speichern/Read Only passiert und das wäre mir schon etwas angenehmer.
Liebe Grüsse
Matthias

Anzeige
AW: VBA Datei öffnen in zweiter Instanz
05.10.2014 15:53:56
Matthias
Thema nicht mehr relevant ....

338 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige