Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Application.FollowHyperlink funkt. nicht mit Application.CurrentProject.Path

Begonnen von Moarli, August 29, 2024, 10:20:42

⏪ vorheriges - nächstes ⏩

Moarli

Hallo!
Ich habe auf meinem PC Betriebssystem W11 und MS Office Professional 2019.
In einer Datenbank für den KGV möchte ich aus einem Formular den Dateiexplorer aufrufen und dabei direkt den Ordner mit den dazugehörigen Unterlagen (Bilder, Pachtverträge, etc.) der im Formular aktuellen Parzelle öffnen. Das funktioniert mit dem unten angeführten VBA-Script leider nicht. Da die Datenbank auf unterschiedlichen Geräten mit unterschiedlichen Laufwerken liegt / verwendet wird, möchte ich immer vorher den aktuellen Speicherpfad mit Application.CurrentProject.Path ermitteln.
Kann mir jemand sagen was hier nicht richtig ist?
Vielen Dank!

Private Sub Befehl35_Click()

Dim ParzPfadNr As String

    ParzPfadNr = Chr(34) & Application.CurrentProject.Path & "\" & ParzNr & Chr(34)
    'MsgBox "Die Datenbank befindet sich im Verzeichniss " & Application.CurrentProject.Path &
    '" und die aktuelle ParzNr. ist : " & ParzNr
   
    Application.FollowHyperlink "F:\Daten\KGV\Parzellen\" & ParzNr, , False 'funktioniert
    Application.FollowHyperlink ParzPfadNr                                  'funktioniert nicht
   
End Sub

Debus

Hey, vielleicht mal so:


   Sub ÖffneExeDatei()
    Dim dbPfad As String
    Dim exeDatei As String
    Dim vollstaendigerPfad As String

 
    dbPfad = CurrentProject.Path

   
    exeDatei = "123test.exe"

   
    vollstaendigerPfad = dbPfad & "\" & exeDatei

   
    If Dir(vollstaendigerPfad) <> "" Then
       
        Shell vollstaendigerPfad, vbNormalFocus
    Else
        MsgBox "Die Datei '" & exeDatei & "' wurde im Verzeichnis '" & dbPfad & "' nicht gefunden.", vbExclamation
    End If
End Sub


Gruß
Holger

Moarli

Das war schon mal nicht schlecht!  :)
Nur - ich will keine bestimmte Datei öffnen sondern "nur" diesen Ordner! :-\

Bitsqueezer

Hallo,

entferne mal "CHR(34)" davor und danach. Dann sollte es auch gehen.

Gruß

Christian

Moarli

@Bitsqueezer: Leider nein  :(  Es kommt der Laufzeitfehler 490: "Die angegebene Datei konnte nicht geöffnet werden" und der Debugger springt zu "Application.FollowHyperlink ParzPfadNr"

Bitsqueezer

Hallo,

am besten läßt Du Dir "ParzPfadNr" mal im Direktfenster ausgeben und schaust, ob hier z.B. der Gesamtpfad zu lang ist oder für Windows nicht erlaubte Zeichen vorkommen oder sonst ein Fehler im Gesamtstring enthalten ist.

Gruß

Christian

Knobbi38

Hallo,

du kannst das einfach mit dem Shell-Kommando machen, FollowHyperlink wird dazu nicht benötigt:
cmd = "explorer.exe " & CurrentProject.Path & "\Folder_1"
Shell cmd, vbNormalFocus

Gruß Ulrich

Moarli