VBA Programm um Hyperlink zu öffnen

  • Access

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Mono.

    VBA Programm um Hyperlink zu öffnen

    Guten Tag zusammen,

    bin noch nicht sehr erfahren in VBA und daher hätte ich mal eine frage an dieses Forum.

    Ist es möglich ein kleines VBA-Programm zu erstellen was folgendes ermöglicht.

    Ich habe PDF Dateien auf einem Laufwerk abgelegt die ich gerne per VBA aufrufen möchte.

    Der Pfad besteht aus drei teilen 1=Laufwerk 2=Der Datei Name den ich eingeben möchte und 3 = .PDF

    Kann mir einer von euch helfen hier ein kleines VBA Programm zu erstellen welches mich auffordert den 2.teil (Name der Datei) ein zu geben und dann die Datei öffnet.

    Bin für jeden Tipp dankbar. Arbeite viel mit Access, kann aber auch Excel oder Word sein.

    Schon einmal vielen Dank und schönes WE.
    Dann hier die Tips wie es geht:



    1. Per Inputbox die Eingabe vom User verlangen.

    2. Danach eine kurze Gültigkeitsprüfung ob die Eingabe korrekt ist, bzw. die Datei existiert. Kann mit mit FileExists durchführen.

    3. Wenn die Gültigkeitsprüfung wahr, dann mit ShellExecute die Datei öffnen. ShellExecute ist eine API Funktion die aber sehr einfach anzuwenden ist, allein mit dem Stichwort solltest Du zig passende Suchergebnisse finden. ;)

    Die Vorgehensweise und der Code dazu sind unabhängig von der Anwendung, da es mit reinen VBA-Mitteln zu machen ist und keine Anwednungsspezifischen VBA-Teile beinhaltet. Also funktioniert das sowohl unter Access, wie auch Word oder Excel.

    Wenn Du dann einen Code hast, aber nicht weiter kommst dann poste den Code hier und ich helfe Dir gerne weiter. ;)

    Gruß

    Rainer
    ALs Tip noch:

    set fso = CreateObject ("Scripting.FilesystemObject") ' so setzt du Filesystemobjekt auf fso
    'fso beinhaltet andere Objekte
    'ZB:
    set folders = fso.Getfolder(PFAD)
    'dies is das Folder(Ordner) objekt, mit der korrektenpfadangabe kann man dann auf diesen ordner zugreifen, um beispielsweise dateien zu finden
    set Files = folders.files
    'Files ist nun eine Collection von allen dateien in diesem Ordner, diese kann man natürlich abrufen

    For each File in Files
    Next

    Das nur mal als grundlage,
    es gibt neben "UNter" Objekten auch Methode in filesystemobjekt, eine ist die FileExists Methode.

    Also

    fso.FileExists(pfad)

    Der pfad besteht dann aus Drive:FOlder\FOlder\file.endung
    also Pfad = "C:\DEINORDNER\" & eingabe & ".pdf"

    schönen abend Mono
    Das ist meine Signatur und sie wird wunderbar sein!
    Hallo zusammen.
    Hab mal ne Excel Datei angehangen wie ich mir das ganze vorstelle.
    Schaut euch das doch mal bitte an und gebt mir nen Tipp wie ich nach eingabe
    in das Textfeld dann die Datei öffnen kann.
    Die UserForm findet ihr im Editor.
    Ach ja wie bekomme ich das hin das das Programm automatisch öffnet.

    Danke für eure Hilfe,,,,,bin halt ein Anfänger
    Dateien

    Visual Basic-Quellcode

    1. Private Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    2. Private Sub pdfÖffnen(dateiname As String)
    3. Dim hwnd As Long
    4. ShellExecute hwnd, "open", dateiname, "", "", 1 '3 statt 1 bedeutet Maximiert-öffnen
    5. End Sub
    6. Private Sub CommandButton1_Click()
    7. dat = txtZellwert.Value
    8. Set fso = CreateObject("Scripting.Filesystemobject")
    9. pfad = "C:\Dokumente und Einstellungen\peter.peinlich\Desktop\" & dat & ".pdf" 'hier kommt der zu prüfende Pfad rein
    10. If (fso.fileExists(pfad)) Then
    11. pdfÖffnen (pfad)
    12. Else
    13. MsgBox "Datei nicht gefunden"
    14. End If
    15. End Sub


    Wenn du möchtest das die userform immer beim öffnen deiner Exceltabelle ausgeführt wird, schreib in die Arbeitsmappe(im vb editor)
    Sub workbooks_open()
    Userform1.show
    End sub

    Hier ein Link zu shellexecute und den parametern: msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx

    gruss Mono
    Das ist meine Signatur und sie wird wunderbar sein!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mono“ ()