Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: windows fenster mit vba?

windows fenster mit vba?
21.06.2004 17:16:55
Michael
Hallo liebes Forum,
ich habe ein problem in der vba programmierung:
ich möchte in meinem vba code schreiben, dass sich am ende der prozedur excel schließt und dann in einem Windows Fenster ein bestimmter ordner angezeigt wird.
ich kann mir vorstellen dass es schwierig sein koennte excel schliessen zu lassen und dann das windows fenster zu laden bzw. anzuzeigen, hauptsächlich bräuchte ich also den Befehl zum anzeigen eines windows (od. explorer) fensters mit dem bestimmten ordner.
für jedwede hilfe im voraus vielen dank,
michael
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Explorer öffnen, Excel schliessen
21.06.2004 17:47:29
Hans
Hallo Michael
Mit diesem code öffnet ein Explorer-Fenster (statt C:\Temp gibst du deinen bestimmten Ordner an). Die Datei, die den Code enthält, wird ohne Speichern und ohne Rückfrage geschlossen und Excel beendet. Falls noch ungespreicherte Dateien offen sind, erscheint eine Rückfrage.

Sub ExcelToExplorer()
Shell "Explorer.exe C:\Temp", vbNormalFocus
ThisWorkbook.Saved = True
ThisWorkbook.Application.Quit
End Sub

Gruss
Hans T.
Anzeige
AW: windows fenster mit vba?
Michael
Bei der Adaption auf meinen fall ist noch ein weiteres Problem aufgetaucht:
mein code sieht in Auschnitten so aus:
Dim name As String, vornam As String
... (variablen sind definiert)
fso.CreateFolder ("C:\Eigene Dateien\Kundendatei\" & name & ", " & vornam & " vom " & Date)
Set f = fso.GetFolder("C:\Eigene Dateien\Kundendatei\" & name & ", " & vornam & " vom " & Date)
Shell "Explorer.exe " & f.Path, vbNormalFocus
Wenn den Code so ausführe kommt jedoch die Meldung "vornam vom Date" kann nicht gefunden werden (die Variablen durchaus korrekt wiedergegeben).
Wie muss ich die f.Path korrekt einbauen?
Gruß und Dank
Michael
Anzeige
Hab's schon raus
Michael
hallo zusammen,
hab es schon hingekriegt, das Komma in f.Path war das Hindernis. Mit einem Semikolon klappts.
tschüss und danke
michael
;
Anzeige
Anzeige

Infobox / Tutorial

Windows Fenster mit VBA öffnen


Schritt-für-Schritt-Anleitung

Um ein Windows Fenster mit VBA zu öffnen, kannst du den folgenden VBA-Code verwenden. Dieser Code schließt Excel und öffnet ein Explorer-Fenster mit einem bestimmten Ordner:

Sub ExcelToExplorer()
    Shell "Explorer.exe C:\Temp", vbNormalFocus
    ThisWorkbook.Saved = True
    ThisWorkbook.Application.Quit
End Sub

Ersetze C:\Temp durch den Pfad des Ordners, den du öffnen möchtest. Stelle sicher, dass du die richtigen Berechtigungen für den Ordner hast.


Häufige Fehler und Lösungen

Ein häufiges Problem kann auftreten, wenn du versuchst, einen Ordner zu öffnen, dessen Name Variablen enthält. Wenn du zum Beispiel Folgendes versuchst:

fso.CreateFolder ("C:\Eigene Dateien\Kundendatei\" & name & ", " & vornam & " vom " & Date)

Wenn der Name ein Komma enthält, wird der Pfad nicht korrekt interpretiert. Stattdessen solltest du ein Semikolon verwenden:

Shell "Explorer.exe " & f.Path, vbNormalFocus

Falls du die Fehlermeldung erhältst, dass der Ordner nicht gefunden werden kann, überprüfe, ob der Pfad korrekt ist und ob die Variablen richtig definiert sind.


Alternative Methoden

Es gibt verschiedene Möglichkeiten, ein Explorer-Fenster über VBA zu öffnen. Eine alternative Methode wäre, die FollowHyperlink-Methode von Excel zu verwenden:

Sub OpenFolder()
    ThisWorkbook.FollowHyperlink "C:\Temp"
End Sub

Diese Methode ist besonders nützlich, wenn du sicherstellen möchtest, dass der Pfad auch dann geöffnet wird, wenn Excel noch aktiv ist.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du mit dem Excel VBA Fenster öffnen kannst:

  1. Öffnen eines spezifischen Ordners:

    Sub OpenMyFolder()
       Shell "Explorer.exe C:\Eigene Dateien", vbNormalFocus
    End Sub
  2. Öffnen eines Ordners basierend auf Benutzereingaben:

    Sub OpenUserFolder()
       Dim folderPath As String
       folderPath = InputBox("Gib den Pfad des Ordners ein:")
       Shell "Explorer.exe " & folderPath, vbNormalFocus
    End Sub

Diese Beispiele zeigen, wie du das vba fenster öffnen kannst, um Benutzerinteraktion zu ermöglichen und spezifische Ordner anzuzeigen.


Tipps für Profis

  • Fenstergröße anpassen: Du kannst die explorer fenstergröße anpassen, indem du zusätzliche Parameter in der Shell-Funktion verwendest.
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um sicherzustellen, dass dein Code robust ist.
  • Dokumentation: Kommentiere deinen Code ausführlich, um anderen (oder dir selbst in der Zukunft) zu helfen, den Code besser zu verstehen.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass Excel vor dem Öffnen des Windows Fensters geschlossen wird?
Du kannst die Zeile ThisWorkbook.Application.Quit verwenden, um Excel zu schließen, bevor das Explorer-Fenster geöffnet wird.

2. Was mache ich, wenn ich das Explorer-Fenster minimiert öffnen möchte?
Verwende anstelle von vbNormalFocus den Parameter vbMinimizedFocus, um das Fenster minimiert zu öffnen.

3. Kann ich mehrere Ordner gleichzeitig öffnen?
Ja, du kannst mehrere Shell-Befehle in einer Subroutine verwenden, um verschiedene Ordner nacheinander zu öffnen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige