Laufzeitfehler 75 "Fehler beim Zugriff auf Pfad/Datei

  • Word

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Sue456.

    Laufzeitfehler 75 "Fehler beim Zugriff auf Pfad/Datei

    Hallo zusammen,

    bei folgendem Code (kursiv) stoppt der jedesmal an beim Mod. CSVAuslesen (Text ist in rot geschrieben) und gibt mir den Laufzeitfehler 75 zurück. Der bezieht sich auf den Pfad unter mod. CSVOpen. Was mache ich falsch??
    Laut dem was ich im Internet finden konnte definiert man so einen Variabelen Pfad!? :cursing:

    Viele Grüße

    Option Explicit

    Public CSVDatei As String

    Sub CSVOpen()
    Dim doc As Document
    Set doc = ActiveDocument

    Dim Path As String
    Path = "\SCHRIFTWECHSEL\PY\CSV\*.CSV"

    CSVAuslesen CSVDatei
    End Sub

    Sub CSVAuslesen(CSVDatei As String)
    Dim FNr As Integer
    Dim Felder() As String
    Dim import As String

    FNr = FreeFile

    Open CSVDatei For Input As #FNr

    Do Until EOF(FNr) = True
    Line Input #FNr, import
    .....
    Hi.

    Verwende doch am bestenden Editor mit Code (Dort sind so Knöpfe da steht VB6.0 und VB.NET. Dann kann man ihn deutlich besser lesen.

    Zu deinem Problem:

    Visual Basic-Quellcode

    1. 'Public CSVDatei As String '<-verwendest du nie, und brauchst du daher nicht
    2. Sub CSVOpen()
    3. Dim doc As Document
    4. Set doc = ActiveDocument
    5. Dim Path As String
    6. Path = "\SCHRIFTWECHSEL\PY\CSV\*.CSV" 'hier setzt du die Variable Path auf den Pfad, aber du verwendest Sie nicht!!
    7. CSVAuslesen CSVDatei <- hier gehört der Pfad übergeben
    8. 'Richtig wäre entweder:
    9. CSVAuslesen "\SCHRIFTWECHSEL\PY\CSV\*.CSV" 'Bermerkung Siehe unten!1!
    10. 'oder
    11. CSVAuslesen Path
    12. End Sub


    Allerdings bezweifel ich, das dein Pfad funktioniert. Dort muss ein korrekter Pfad zu EINER Datei rein.

    LG
    Das ist meine Signatur und sie wird wunderbar sein!
    Vielen Dank Mono für deine Antwort und für den Hinweis mit den Knöpfen (hatte es nicht gefunden).

    'Public CSVDatei As String '<-verwendest du nie, und brauchst du daher nicht
    Verwende ich später im Code, denn ich muss doch damit die Daten "öffentlich" machen um sie weiter verwenden zu können - hier in ein Formular übertragen - oder?

    Das andere hat geklappt, danke. Nur Jetzt kommt Laufzeitfehler 76 er findet den Pfad nicht

    Visual Basic-Quellcode

    1. Option Explicit
    2. Public CSVDatei As String
    3. Sub CSVOpen()
    4. Dim doc As Document
    5. Set doc = ActiveDocument
    6. Dim Path As String
    7. Path = "\SCHRIFTWECHSEL\PY\CSV\PY_SELEKTION2.CSV" 'ich weiß ja nicht wo der User den Ordner hinlegt daher muss ich dies irgendwie variable lassen
    8. CSVAuslesen Path
    9. End Sub
    10. Sub CSVAuslesen(CSVDatei As String)
    11. Dim FNr As Integer
    12. Dim Felder() As String
    13. Dim import As String
    14. FNr = FreeFile
    15. Open CSVDatei For Input As #FNr
    16. Do Until EOF(FNr) = True
    17. Line Input #FNr, import
    Vielleicht erklärst du mal, was du meinst mit Ordner variabel lassen bzw wo der User den hinlegt?(Möchtest du immer relativ vom Ordner der Worddatei arbeiten?) und wo verwendest du denn CSVDatei noch, außer im Sub CSVAuslesen?


    Bzw. vll erklärst du mal generell was du vor hast. Mir scheint, als gäbe es einige fehlende Grundkenntnisse und daher befürchte ich das wir schnell aneinander vorbei reden.

    LG
    Das ist meine Signatur und sie wird wunderbar sein!
    Ok.

    Ich habe ein Formular, welches ich zum einen mit Daten aus einer Eingabemaske und zum anderen mit Daten aus einer CSV-Datei befülle.
    Die CSV-Datei wird jedesmal vorher von einem bestimmten Programm generiert und enthält unterschiedlich viele Datensätze.

    Der Pfad ist ab \Schriftwechsel vorgeschrieben. Die Datei wird von beliebig vielen Usern in ganz deutschland genutzt werden. Ich kann nicht vorher sagen, wie die Laufwerke heißen und wo sie letztendlich den Ornder "Schriftwechsel" mit seinen Unterordner liegt. Der Pfad des Formulars auch, denn das Programm aus dem die Datensätze generiert werden speichert die CSV Datei dort und geht in den anderen Unterordner (der festgelegt ist) und öffnet die Word-Datei bzw. das Formular.

    Was dieses andere Programm macht ist fakt und kann nicht beeinflusst werden.

    Ich hab jetzt die Daten der Userform in das Formular mittels VBA übertragen und bin jetzt bei den Daten aus der CSV-Datei.
    Den Sub "CSVAuslesen" hab ich nur teileweise hierein kopiert nach dem "Do Until" folgt ja für jedes Datenfeld die Anweisungen wohin die Information im Formular einzufügen ist und dann im Loop.

    Mit den fehlenden Grundkenntnissen hast du recht, denn das ist mein erstes Makro das ich schreibe. Ich hatte nur nen 2 Tages chrash kurs.

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

    Hi, es handelt sich ja offenbar um word, daher nimm:

    Visual Basic-Quellcode

    1. ThisDocument.Path & "\SCHRIFTWECHSEL\PY\CSV\PY_SELEKTION2.CSV"
    2. 'bzw wenn du oben eh schon:
    3. Set doc = ActiveDocument
    4. 'hast, dann geht auch einfach:
    5. doc.path & "\SCHRIFTWECHSEL\PY\CSV\PY_SELEKTION2.CSV"


    LG
    Das ist meine Signatur und sie wird wunderbar sein!

    Mono schrieb:

    Visual Basic-Quellcode

    Visual Basic-Quellcode

    1. ThisDocument.Path & "\SCHRIFTWECHSEL\PY\CSV\PY_SELEKTION2.CSV"
    2. 'bzw wenn du oben eh schon:
    3. Set doc = ActiveDocument
    4. 'hast, dann geht auch einfach:
    5. doc.path & "\SCHRIFTWECHSEL\PY\CSV\PY_SELEKTION2.CSV"


    Hi,

    das funktioniert auch nicht, denn die Datei wird dann unter dem Pfad ...\Schriftwechsel\PY\Vorlage \Schriftwechsel\PY\CSV\PY.... gesucht.
    Ich kann den Pfad nur bis ....\Schriftwechsel\PY\ gebrauchen.

    LG

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

    Es kam nicht genau heraus, wo das Word Dokument selber liegt.
    Dann mach doch:

    Visual Basic-Quellcode

    1. path = Replace(UCase(ThisDocument.Path),"VORLAGE","CSV") & "\PY_SELEKTION2.CSV"
    Das ist meine Signatur und sie wird wunderbar sein!