Öffnen in einem separaten fenster

Bild

Betrifft: Öffnen in einem separaten fenster von: Andreas
Geschrieben am: 10.03.2005 09:51:47

Hallo Excel-Profis,

ich kämpfe bereits seit einer Woche an einem Before_Close-Problem herum und weiss jetzt zumindest schon einmal woran es liegt. Hierfür benötige ich allerdings noch ein wenig Support.

Ich möchte erzwingen, dass beim öffnen meiner XLS-Datei, diese in einem separaten Fenster angezeigt wird. Hierfür gebe ich beim öffnen den folgenden Befehl mit auf den Weg .

Private Sub Workbook_Open()
    ...
    Application.ShowWindowsInTaskbar = True
    ...
End Sub


Damit werden alle geöffneten Dateien in der Taskleiste angezeigt, jedoch nur in EINEM Excel-Fenster. Mit welchem Befehl kann ich meine Anwendung separat öffnen?

Vielen dank im voraus,
Gruß
Andreas
Bild


Betrifft: AW: Öffnen in einem separaten fenster von: Andre
Geschrieben am: 10.03.2005 10:17:17

Hi Andreas,

folgenden Code in "DieseArbeitsmappe":

Private Sub Workbook_Deactivate()
Dim n As String
If Workbooks.Count > 1 Then
    With ActiveWorkbook
    n = .FullName
    .Close savechanges:=False
    End With
    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
    
End Sub


Das Makro prüft, ob eine neue Datei geöffnet/erstellt wurde (.Count>1) und merkt sich dessen Namen. Dann schließt sie die Mappe ungefragt und öffnet in einer neuen Instanz selbige Mappe wieder neu.

Gruß Andre


Bild


Betrifft: AW: Öffnen in einem separaten fenster von: Andreas
Geschrieben am: 10.03.2005 11:04:22

Hallo Andre,

ich hab mit deinem Code doch ein kleines Problem. Wenn ich eine beliebige Datei bereits geöffnet habe (die noch nicht gespeichert ist) und meine obige Anwendung öffne, wird durch den Code die Anwendung ohne speichern geschlossen und erneut geöffnet. Dadurch gehen daten natürlich verloren.

Zwar könnte man jetzt an die close-Anweisung eine saveChanges-Abfrage knüpfen, nur befürchte ich, dass dies auf benutzerseite zu Verwirrung führen könnte?

Hast du evtl. noch eine andere Idee??

Vielen dank,
Andreas


Bild


Betrifft: AW: Öffnen in einem separaten fenster von: Andre
Geschrieben am: 10.03.2005 11:18:23

Sorry, aber versteh ich nicht ganz.

Der Code steht doch in der Arbeitsmappe, die du zuletzt öffnest, oder? Dann wird doch lediglich diese Mappe wieder geschlossen und neu geöffnet, aber da können ja noch keine Daten stehen. Außer sie werden von einem Auto_open-Ereignis o.ä. generiert.

Dann gibt´s noch die Lösung über eine Verknüpfung der Excel.exe:

Public myDeskName As String

Sub Create_Link_On_Desktop()
Dim wsh As Object
Dim myWSO As Object
Dim myDesktop As String
   Set wsh = CreateObject("WScript.Shell")
   myDesktop = wsh.SpecialFolders("Desktop")
   myDeskName = "Test Verknüpfung"
   Set myWSO = wsh.CreateShortcut(myDesktop & _
       "\" & myDeskName & ".lnk")
    
   With myWSO
       .WindowStyle = 3
       .IconLocation = "C:\Programme\Microsoft Office\Office\Excel.exe,14"
       .WorkingDirectory = "C:\Programme\Microsoft Office\Office"
       .TargetPath = Application.Path & "\excel.exe"
       .Arguments = """C:\MeinProgramm.xls"""
       '.Description = Beschreibung
       '.HotKey = Tastenkombination
       .Save
   End With
   Set wsh = Nothing
End Sub


Erstellt eine Verknüpfung zur Excel.exe und somit wird deine Arbeitsmappe immer in einer neuen Application geöffnet.

Gruß Andre


Bild


Betrifft: AW: Öffnen in einem separaten fenster von: marcl
Geschrieben am: 10.03.2005 10:33:03

Hallo Andreas,

verusch mal das:

Pfad = "c:\programme\microsoft office\office10\" ' ist bei mir so
Shell Pfad & "Excel.exe C:\test.xls"

Die Ordner dürfen keine Leerzeichen haben (Eigene Dateien), dann findet Excel die Datei nicht!

Gruß
marcl


Bild


Betrifft: AW: Öffnen in einem separaten fenster von: Andreas
Geschrieben am: 10.03.2005 10:40:13

Hallo Andre, hallo Marc,

vielen dank für eure Hilfe. Ich habe jetzt den Code von Andre integriert und damit funktioniert es :-)

Grüße,
Andreas


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Öffnen in einem separaten fenster"