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

ChDir-Befehl funktioniert nicht einwandfrei

Forumthread: ChDir-Befehl funktioniert nicht einwandfrei

ChDir-Befehl funktioniert nicht einwandfrei
27.10.2003 16:55:25
Thomas
Hallo!

Ich habe einen Code verwendet, der nicht immer einwandfrei funktioniert. Ziel des Programms soll es sein, dass der Nutzer in einen schon vorherbestimmten Ordner(XY) springt und von dort aus weiter wählen kann. Die Funktion CHDir soll das ja eigentlich gewährleisten, aber sie tut es nicht. Bei der Einzelschrittanalyse springt der Editor zwar auf die Zeile, aber öffnet nicht den Ordner, sondern einen anderen. Auf meine Beobachtungen bezogen, vermute ich, dass es der Ordner ist, der zuletzt genutzt worden ist. Kann man dieses umgehen? Und wenn ja, wie?
Ich habe zur Sicherheit den Code mit angefügt.
Danke und Gruß

Thomas


Private Sub CommandButton1_Click()
Dim fFile As Variant
Dim myWord As Object
On Error Resume Next
Set myWord = GetObject("Word.Application.9")
ChDir "C:\XY"
fFile = Application.GetOpenFilename("Word-Dateien (*.doc),*.doc")
If fFile = False Then Exit Sub
If Err.Number <> 0 Then
'Fehlervariable leeren wenn Instanz noch nicht besteht
Err.Clear
'Zuweisung der Instanz
Set myWord = CreateObject("Word.Application.9")
'Instanz öffnen
myWord.Visible = True ': objWW.WindowState = wdWindowStateMaximize
Else
'Instanz besteht bereits
myWord.Activate
'Instanz in der Vordergrund bringen
myWord.Visible = True ': objWW.WindowState = wdWindowStateMaximize
End If
myWord.Application.Documents.Open fFile
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ChDir-Befehl funktioniert nicht einwandfrei
27.10.2003 17:03:33
Christian
ChDir wechselt nur das Verzeichnis, aber nicht das Laufwerk.

Dazu musst Du ChDrive benutzen.

Gruß,
Christian
AW: ChDir-Befehl funktioniert nicht einwandfrei
27.10.2003 17:12:00
Thomas
Hallo,
das leuchtet ein und eröffnet ein neues Problem. Wie kann ich gewährleisten, das der Nutzer immer in den richtigen Ordner verwiesen wird, egal auf welchem Laufwerk er sich gerade befindet?

danke,

Thomas
Anzeige
AW: ChDir-Befehl funktioniert nicht einwandfrei
27.10.2003 17:12:57
soendi
befehel chdrive und chdir nacheinander einsetzen?
AW: ChDir-Befehl funktioniert nicht einwandfrei
27.10.2003 17:20:02
Thomas
Hallo,

dank vereinter Hilfe scheint es jetzt zu funktionieren. Danke.

Gruß Thomas
;
Anzeige

Infobox / Tutorial

ChDir-Befehl in VBA richtig nutzen


Schritt-für-Schritt-Anleitung

Um den ChDir-Befehl in VBA korrekt zu verwenden, befolge diese Schritte:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject" und wähle "Einfügen" > "Modul".

  3. Füge den folgenden Code ein:

    Private Sub CommandButton1_Click()
        Dim fFile As Variant
        Dim myWord As Object
        On Error Resume Next
        ChDrive "C" ' Wechselt das Laufwerk
        ChDir "C:\XY" ' Wechselt das Verzeichnis
        fFile = Application.GetOpenFilename("Word-Dateien (*.doc),*.doc")
        If fFile = False Then Exit Sub
        If Err.Number <> 0 Then
            Err.Clear
            Set myWord = CreateObject("Word.Application.9")
            myWord.Visible = True
        Else
            myWord.Activate
            myWord.Visible = True
        End If
        myWord.Application.Documents.Open fFile
    End Sub
  4. Speichere und teste den Code: Stelle sicher, dass der Code in der richtigen Umgebung ausgeführt wird.


Häufige Fehler und Lösungen

  1. Problem: ChDir funktioniert nicht einwandfrei.

    • Lösung: Stelle sicher, dass das richtige Laufwerk mit ChDrive gesetzt wird, bevor ChDir verwendet wird.
  2. Problem: Der Ordner öffnet sich nicht richtig.

    • Lösung: Überprüfe, ob der Pfad korrekt ist und das Laufwerk existiert.
  3. Problem: vba chdir not working-Fehler.

    • Lösung: Verwende ChDrive und ChDir nacheinander, um sicherzustellen, dass das korrekte Verzeichnis gewechselt wird.

Alternative Methoden

Wenn der ChDir-Befehl nicht die gewünschten Ergebnisse liefert, kannst du auch die folgenden Ansätze ausprobieren:

  • Verwendung von Dialogfenstern:

    Statt das Verzeichnis manuell zu wechseln, kannst du ein Dialogfenster verwenden, um den Benutzer das Verzeichnis auswählen zu lassen:

    Dim folderPath As String
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = -1 Then
            folderPath = .SelectedItems(1)
        End If
    End With
  • Absolute Pfade: Verwende absolute Pfade in deinem Code, um sicherzustellen, dass der richtige Ordner ausgewählt wird.


Praktische Beispiele

Hier ist ein einfaches Beispiel, das den ChDir-Befehl zusammen mit ChDrive verwendet:

Sub OpenWordDocument()
    Dim myWord As Object
    ChDrive "C"
    ChDir "C:\XY"
    Set myWord = CreateObject("Word.Application.9")
    myWord.Visible = True
    myWord.Documents.Open "C:\XY\deinDokument.docx"
End Sub

Dieses Beispiel stellt sicher, dass Word im richtigen Verzeichnis geöffnet wird.


Tipps für Profis

  • Verwende Fehlerbehandlung: Implementiere On Error-Anweisungen, um mögliche Laufzeitfehler zu handhaben.
  • Dokumentation: Kommentiere deinen Code, um zukünftigen Änderungen das Verständnis zu erleichtern.
  • Testen: Teste den Code in verschiedenen Szenarien, um sicherzustellen, dass ChDir und ChDrive einwandfrei funktionieren.
  • Beachte Benutzerrechte: Stelle sicher, dass der Benutzer die notwendige Berechtigung hat, um auf den angegebenen Ordner zuzugreifen.

FAQ: Häufige Fragen

1. Funktioniert ChDir in allen Excel-Versionen? Ja, ChDir und ChDrive sind in den meisten Versionen von Excel VBA verfügbar.

2. Was mache ich, wenn ChDrive nicht funktioniert? Überprüfe, ob das angegebene Laufwerk existiert und ob du die entsprechenden Berechtigungen hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige