Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
540to544
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
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

vba

vba
03.01.2005 19:33:13
hamers
hi alle,
hab folgendes prob. hab ein eigenes vba projekt erstellt nur mit eigenem menue und alle standard menues deaktiviert. öffnet ein user mein projekt und danach noch ein weitere arbeitsmappe, so wird die zweite arbeitsmappe als aktives fenster geschlatet. da in meinem menue aber keine standart menues vorhanden sind geht jetzt nix mehr, ausser prozess über die systemsteuerung abschießen.
schön wäre folgende lösung: mein projekt läuft unabhängig in einer eigenen excel-umgebung und für alle anderen mit dem explorer geöffneten xls-anwendungen wir excel separat neu gestartet. dies funktioniert, aber nur wenn ich excel nochmal separat starte und nicht wenn ich im explorer einfach ne xls-datei anklicke.
alternativ würde es auch funktionieren wenn mein projekt nach öffnen einer beliebigen datei wieder automatisch im vordergrund also aktiv wäre, da ich nach dem schließen meiner datei die menue leiste wieder zurücksetzte.
mir ist jedoch nicht klar wie ich meine ansätze umsetzen kann oder vielleicht gibts ja noch was besseres?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
  • 03.01.2005 19:39:23
    Matthias
Anzeige
AW: vba
03.01.2005 19:39:23
Matthias
Hallo Hamers,
also entweder du setzt die Einstellungen schon beim Deaktivieren zurück (Workbook_Deactivate) und beim Aktivieren wieder neu (die beste Lösung), oder du verwendest diesen Code:
Private Sub Workbook_Deactivate()
Dim n As String
If Workbooks.Count > 1 Then
Application.EnableEvents = False
With ActiveWorkbook
n = .FullName
.Close savechanges:=False
End With
Application.EnableEvents = True
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
'Dim xlApp As New Excel.Application
On Error Resume Next
xlApp.Workbooks.Open Filename:=n
If Err.Number > 0 Then
xlApp.Quit
Else
xlApp.Application.Visible = True
End If
Set xlApp = Nothing
End If
Dieser Code merkt sich den Pfad der gearde geöffneten Mappe, schließt sie ohne Rückfrage und öffnet sie in einer neuen Instanz neu.
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige