zunächst wollte ich allen 'Antwortschreibern' hier mal Danke sagen! In meiner Arbeit habe ich viel mit der Erstellung von Makros zu tun und bin immer wieder begeistert, dass in diesem Forum wirklich jede Frage unglaublich kompetent und nett beantwortet wird!
Nun zu meinem Problem :)
Ich habe eine Mappe mit vielen Tabellenblättern und möchte nun eine .txt-Datei erstellen und dort nach einem bestimmten Muster die Daten aus den verschiedenen Tabellenblättern zusammenführen und speichern.
Leider scheitere ich gerade bereits beim Öffnen meiner erstellten .txt-Datei, da immer der Fehler "Laufzeitfehler 70 - Zugriff verweigert" erscheint.
Die Datei wird problemlos erstellt, allerdings kann ich sie selbst hinterher anscheinend nicht öffnen. Sie ist nicht schreibgeschützt.
Anbei mein Code und schonmal vielen Dank für eure Mühe!
Private Sub DateiErstellen()
'** Dieses Modul erstellt die TXT-Datei ev_rules, in welcher die Bewertungen der EF aufgelistet _
werden
Dim Pfad As String
Dim Zeilenanzahl As Integer
Dim myDatei As String
Dim PfadDatei As String
Pfad = ThisWorkbook.Sheets("Einstellungen").Range("F" & 4).Value '* Pfad zur Erstellung der _
Datei
myDatei = "ev_rules_test"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextfile(Pfad & myDatei & ".txt")
PfadDatei = Pfad & myDatei & ".txt" '* Pfad der Datei
Dim array_(), varItem As Variant
Dim worksheet_ As Worksheet
Dim path_ As String
Dim file_ As Long
path_ = PfadDatei
Set worksheet_ = ThisWorkbook.Sheets("EF")
array_ = ValueArray(worksheet_)
file_ = FreeFile
Open PfadDatei For Output As #file_
For Each varItem In array_
Print #file_, varItem
Next varItem
Close #file_
End Sub
Private Function ValueArray(ByVal ws As Worksheet) As Variant
Dim array_() As Variant
Dim i As Long
Dim Zeilenanzahl As Integer
Zeilenanzahl = Worksheets("EF").Cells(Rows.Count, 4).End(xlUp).Row '* Nur fehler mit _
Ereignistext unter "D"
ReDim array_(489)
With ws
For i = 2 To Zeilenanzahl
array_(i - 2) = .Cells(i, 1).text & ";" & _
.Cells(i, 4).text
Next i
End With
ValueArray = array_
Erase array_
End Function