Wer kann mir helfen -bislang alles fehl geschlagen.... in VB

Yaslaw

n/a
Moderator
Aber diese Befehlszeile gibt es doch in der letzten Version deines Codes gar nicht?

Grundsätzlich rate ich dir bei Files zum FileSystemObject.
Setze eine Refernez auf die Scripting Runtime
2019-02-27_151120.jpg 2019-02-27_151200.jpg

Und dann hast du ein ganz bequemes Mittel um alle möglichen Dateisachen zu machen.
Visual Basic:
Private Sub cmbkundendaten_click()
    Dim fso As New FileSystemObject
    Dim pfad As String
    Dim i As Long
    Dim objFld As Folder
  
    pfad = "C:\Users\Andreas.wiese\Documents\Kunden"
    If Not fso.FolderExists(pfad) Then
        MsgBox "Ordner " & pfad & " exisiteirt nicht"
        Exit Sub
    End If
    Set objFld = fso.GetFolder(pfad)
    i = objFld.Files.count + 1
    pfad = fso.BuildPath(pfad, "Kunden" & format(i, "00000") & "-" & format(Date, "DD-MM-YYYY") & ".txt")
    If fso.FileExists(pfad) Then
        MsgBox "Datei " & pfad & " exisitert bereits"
        Exit Sub
    End If
    ActiveWorkbook.SaveAs FileName:=pfad & "\" & "Kunden" & format(i, "00000") & "-" & format(Date, "DD-MM-YYYY") & ".txt"
  
End Sub
 

truckerking

Mitglied
wie kann ich die oben angegeben Datei scrun.dll öffnen da ich in einem Netzwerk arbeite und diese Dateierweiterung zwar finde, sie aber nicht öffnen kann und das gleich Menü wie Du oben hast zu sehen.
 

truckerking

Mitglied
Die Datei ist da auf dem Rechner aber das Menü wie du es abgebildet hast öffnet sich so nicht....wie finde ich das?
Im Netzwerk win7 zu Hause win10
 

truckerking

Mitglied
Netzwerk ? Ich arbeite an einem Arbeitsplatzrechner mit Windows 7 und Office 2010 nach Ostern wollen die versuchen auf Windows 10 mit Office 2016 umzustellen, leider sind die Admins nicht die schnellsten.

Und zu Hause habe ich einen guten Laptop mit Windows 10 und Office 2016/365....
 

Yaslaw

n/a
Moderator
Also. Dann musst du nichts im Netzwerk machen wegen der Datei.
Warscheinlich hast du das deutsche Office. Dann heisst es nicht Tools sondern ev. Extra. Keine Ahnung.
Das ganze ist im VBA-Modus, also da wo du den Code programmierst. Das Unbtermenü heisst warscheinlich Verweise.
 

truckerking

Mitglied
OK gefunden und eingestellt, aber geht immer noch nicht. Neuer pfad eingetragen

Visual Basic:
ActiveWorkbook.SaveAs Filename:=pfad & "\" & "Kunden" & Format(i, "00000") & "-" & Format(Date, "DD-MM-YYYY") & ".txt"

habe ansonsten deinen Code von oben so eingefügt.
 

Yaslaw

n/a
Moderator
Ah, alles klar. Es geht nicht. Ist wohl so.

Mehr kann ich aus deinen Informationen nicht auslesen. Darum nochmals:
1) Aktueller Code zeigen
2) Fehlverhalten, Fehlermeldungen etc. dazu schreiben

Oder woher soll ich wissen was nciht geht? Ich sehe nicht auf deinen PC.
 

truckerking

Mitglied
Visual Basic:
Private Sub cmbkundendaten_click()
    Dim fso As New FileSystemObject
    Dim pfad As String
    Dim i As Long
    Dim objFld As Folder
 
    pfad = "G:\Kundenordner\Neuanlage"
    If Not fso.FolderExists(pfad) Then
        MsgBox "Ordner" & pfad & " exisiteirt nicht"
        Exit Sub
    End If
    Set objFld = fso.GetFolder(pfad)
    i = objFld.Files.Count + 1
    pfad = fso.BuildPath(pfad, "Kunden" & Format(i, "00000") & "-" & Format(Date, "DD-MM-YYYY") & ".txt")
    If fso.FileExists(pfad) Then
        MsgBox "Datei " & pfad & " exisitert bereits"
        Exit Sub
    End If
    ActiveWorkbook.SaveAs Filename:=pfad & "\" & "Kunden" & Format(i, "00000") & "-" & Format(Date, "DD-MM-YYYY") & ".txt"
 
End Sub

Fehler 1004 Kann nicht auf datei zugreifen, obwohl keine existiert...
 

Yaslaw

n/a
Moderator
Welche Zeile?

Nachtrag:
Mir ist ein Fehler unterlaufen und du kopierst ihn blind.
Auf Zeile 14 baust du den Dateipfad zusammen. Auf Zeile 15 wird geprüft ob die Datei bereit existiert. Und auf Zeile 19 Setzt du hinter den Dateipfad nochmals eine Datei.

Meine Codes sind nicht getestet und können durchaus Fehler enthalten. Sie dienen als Ideen, nicht els endgültige Lösungen. Du musst versuchen sie zu verstehen, ggf mit nachfragen. Ein blindes kopieren meines Fehlers hilft da nicht weiter.
Auch debuggen hilft weiter. Ein Haltepunkt auf die Zeile 19 setzen. Wenn der Code dort steht, alles markieren was den Pfad zusammensetzt und mit Shift+F9 schauen, was das Resultat ist. Dann sieht man den Fehler sofort.
Der Debugger ist dein Freund und er ist gratis beim VBA mit dabei, lerne ihn kennen. (Debugging im VBA-Editor, Teil 1 - Startseite weitere Tutorials findest du locker mit google)
Visual Basic:
'Das reicht
ActiveWorkbook.SaveAs Filename:=pfad
 
Zuletzt bearbeitet: