Dialog Application.GetOpenFilename mit weiterer Programmierung verbinden

  • Excel

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

    Dialog Application.GetOpenFilename mit weiterer Programmierung verbinden

    Hallo Leute,

    habe mir jetzt ein VBA Code zusammen gestellt, bei dem eine feste Datei im vorhinein ausgewählt wurde. Dies funktioniert soweit auch wie geplant.

    Mit Application.FileDialog sollte das meiner Meinung nach auch funktionieren, allerdings bin ich ein wenig hilflos wie ich dies nun einbinde...

    Hier mal das Beispiel:

    Visual Basic-Quellcode

    1. Dim fso As Object
    2. Public Function XMLDateiEinlesen() As String
    3. Dim oFileDialog As FileDialog
    4. Set oFileDialog = Application.FileDialog(msoFileDialogFilePicker)
    5. With oFileDialog
    6. .Title = "Import XML"
    7. .Filters.Add "XML-Dateien", "*.xml", 1
    8. .ButtonName = "Auswählen"
    9. If .Show = -1 Then XMLDateiEinlesen = .SelectedItems(1)
    10. End With
    11. End Function
    12. Sub XMLAuslesen()
    13. Dim ZeilenNr As Integer
    14. Dim fo As Object ' Ordner
    15. Dim fi As Object ' Datei
    16. ZeilenNr = 1
    17. Worksheets(1).Activate ' Erstes Tabellenblatt
    18. Set fso = CreateObject("Scripting.FileSystemObject")
    19. Set fo = fso.GetFile(XMLDateiEinlesen)
    20. MsgBox ("Fertig")
    21. End Sub





    Edit: Hab den Befehl Application.FileDialog gefunden. Aber ich weiss leider immer noch nicht, wie ich jetzt die ausgewählte Datei einbinde. Bekomme hiermit immer einen Laufzeitfehler.

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

    Hallo,

    da die Funktion XMLDateiEinlesen() einen kompletten Pfad zurück gibt, wenn nicht gerade abgebrochen wurde, sollte der Pfad mal geprüft werden. Evtl. handelt es sich um ein UNC-PFad. Oder die Zeichencodierung passt da irgendwo nicht. Was passiert, wenn die Datei gegen Zugriffe gesperrt / in Benutzung ist, weiß ich auch grad nicht.

    Das Abbrechen ist jedenfalls noch nicht abgefangen.
    Auch möglich, dass ein Verweis auf die Microsoft Scripting Runtime benötigt wird.
    Gruß
    Peterfido

    Keine Unterstützung per PN!