Listbox-Eintrag per Doppelklick öffnen

  • Word

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Listbox-Eintrag per Doppelklick öffnen

    Hallo zusammen,



    mit diesem Code lade ich die Dateien des gewünschten Verzeichnisses in die Listbox

    Sub UserForm_click()

    Dim Datei As String

    Datei = Dir("c:\tempword\*.*")
    If Datei = "" Then Exit Sub

    Do
    If InStr(Datei, ".xx") = 0 Then ListBox1.AddItem Datei
    Datei = Dir()
    Loop Until Datei = ""
    End Sub


    Wie kann ich per Doppelklick eine gwünschte Datei auswählen und per Word starten.

    Wie kann ich Doppelmarkierungen verhindern ?


    Vielen Dank im voraus
    Hallo Halamann,
    probier' mal dies:

    Visual Basic-Quellcode

    1. Private Sub UserForm_Click()
    2. Dim Datei As String
    3. With ListBox1
    4. .Clear
    5. .MultiSelect = fmMultiSelectSingle
    6. .Tag = "C:\tempword"
    7. Datei = Dir$(.Tag & "\*.*")
    8. Do Until Datei = ""
    9. If InStr(1, Datei, ".xx") = 0 Then .AddItem Datei
    10. Datei = Dir$
    11. Loop
    12. End With
    13. End Sub
    14. Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    15. Shell ListBox1.Tag & "\" & ListBox1.Text, vbNormalFocus
    16. End Sub


    @Artentus: Der Artikel bezieht sich auf .Net, die Frage auf Word-VBA.
    Gruss,

    Neptun
    Hallo zusammen,

    zunächst vielen Dank für die schnellen Posts.

    @neptun
    Dein Tipp beschreibt mehr mein Problem.

    Bekommen jedoch folgenden Fehler

    Unzulässiger Prozeduraufruf oder ungültiges Argument (Fehler 5)

    d.h. der Aufruf der Datei erfolgt nicht



    Update

    Habe im Code diese Zeile eingebaut, mit dem Nachteil, das Word neu gestartet und konfiguriert (Setup) wird.
    Was mache ich falsch :S

    Shell "C:\Programme\Microsoft Office\OFFICE14\winword.exe " & ListBox1.Tag & "\" & ListBox1.Text, vbNormalFocus

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

    Mit dieser Anweisung geht es

    Word.Documents.Open ListBox1.Tag & "\" & ListBox1.Text, vbNormalFocus

    Vielen Dank

    Erhalte aber nun den Laufzeitfehler 5479
    Word kann nicht geschlossen werden, weil noch ein Dialogfeld geöffnet ist.




    --> Zur Info für andere --> Gelöst - Gebt die Anweisung ActiveDocument.Saved = False ein - Warum auch immer :D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Halamann“ ()

    Kleine Erweiterung meiner Programmierung dank euerer Hilfe :)

    Was muss ich programmieren, wenn ich Dateien aus möglichen Unterverzeichnissen in der Listbox anzeigen lassen möchte,

    die dasselbe Suchkriterium erfüllen.

    Beispiel (Suche nach Name *Hala*)
    Anzeige der Daten aus c:\ oder c:\Temp oder c:\xyz, wenn Word-Dateien mit entsprechendem Suchkriterium zu finden sind.

    Dank im voraus

    Halamann schrieb:

    Was muss ich programmieren, wenn ich Dateien aus möglichen Unterverzeichnissen in der Listbox anzeigen lassen möchte
    Du kannst dich an diesem Beispiel orientieren:
    [Excel] Verzeichnisbaum nach Datei durchsuchen und bestimmte Zelle in eine andere Datei schreiben
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    petaod schrieb:

    Halamann schrieb:

    Was muss ich programmieren, wenn ich Dateien aus möglichen Unterverzeichnissen in der Listbox anzeigen lassen möchte
    Du kannst dich an diesem Beispiel orientieren:
    [Excel] Verzeichnisbaum nach Datei durchsuchen und bestimmte Zelle in eine andere Datei schreiben



    Vielen Dank für den Tipp, den ich noch nicht durchgespielt habe. Rein aus Neugier werde ich dieses mal durchspielen.
    Da mir die Anzahl der Unterverzeichznisse bekannt ist und diese fixe Namen haben, habe ich 5 Listboxen angelegt, die entsprechend mit Daten gefüllt werden.

    Mal eine andere Frage:

    Es gibt AutopOpen und AutoNew. Wie kann ich beim Aktivieren/Focus der Vorlage erneut das Autoopen-Makro ausführen?

    Habe eine Symbolleiste hinzugefügt. Geht es auch anders like document("XY.dot").focus o.ä. ?

    Halamann schrieb:

    Wie kann ich beim Aktivieren/Focus der Vorlage erneut das Autoopen-Makro ausführen?
    Mit der Run-Methode.
    Sauber ist es allerdings, wenn du nicht das AutoOpen-Event, sondern ein gesondertes Macro aufrufst, das du natürlich auch aus dem AutoOpen aufrufen kannst.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --