Herbers Excel-Forum - das Archiv

Ö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
Excel-Beispiele zum Thema "Öffnen in einem separaten fenster"
UserForm an Excel-Fenster anpassen Fenstername ändern
Eigenschaftsfenster schließen Kommentarfenster in bestimmter Größe erstellen
Ausgblendetes Fenster ein- und aktives Fenster ausblenden Excel-Menü oben links am Fenster ausblenden
HTML-Datei im Internet-Explorer mit fester Fenstergrösse Beim Öffnen zweites Fenster erzeugen und anordnen
Bei geteiltem Fenster Kontextmenü im jeweils anderen Fenster Neue Symbolleiste am rechten Fensterrand anlegen