Hallo liebes VBA Forum,
ich habe bei einem Makro zwei Probleme mit der Hoffnung, dass mir hier geholfen werden kann.
1. Ich erzeuge aus einem Makro heraus eine Txt-Datei, diese trägt bereits den richtigen Namen und hat bereits den richtigen Namen. Leider steht in der Datei aber nichts drin. Nach meinem Verständnis müsste er doch zumindest
"Delete(Y1234)(ReelIdFolder)"
reinschreiben, im Falle, dass er die Variable
"dateiname"
nicht auslesen kann.
2. Kann bisher nur eine Datei erzeugt werden, ohne, dass Excel geschlossen und wieder geöffnet werden muss.
Ich bin über jede Hilfe sehr dankbar.
Mit freundlichen Grüßen
Lukas
Folgender Code wird verwendet:
Sub
Datei_suchen_laden()
Sheets(
"Start"
).Range(
"H2"
).Value = Time
Dim
i
As
Integer
Dim
carrier
As
String
Dim
anzahlzeilen
As
Integer
, mengeunsauber
As
Integer
, posMengeklar
As
Integer
Dim
Dateiname
As
String
, text
As
String
, textline
As
String
, posMenge
As
Integer
Dim
strDateiname
As
String
Dim
strPath
As
String
Dim
lngZeile
As
Long
Application.ScreenUpdating =
False
If
DBAktuell = 0
Then
Call
DateinamenAuflisten
anzahlzeilen = Sheets(
"DB"
).UsedRange.Rows.Count
carrier = Right(Sheets(
"Start"
).Cells(1, 2).Value, 6)
Dateiname =
""
For
i = 1
To
anzahlzeilen
If
Sheets(
"DB"
).Cells(i, 2) = carrier
Then
Dateiname = Sheets(
"DB"
).Cells(i, 1)
Next
If
Dateiname =
""
Then
Sheets(
"Start"
).
Select
Range(
"B1"
).
Select
MsgBox (
"Kein Feeder gefunden! - ID prüfen"
)
DBAktuell = 0
Application.ScreenUpdating =
True
Exit
Sub
Else
Dateiname =
"Z:/"
& Dateiname
Open Dateiname
For
Input
As
#1
Do
Until
EOF(1)
Line Input #1, textline
text = text & textline
Loop
Close #1
posMenge = InStr(text,
",,,"
) + 3
mengeflasch = Mid(text, posMenge, 6)
posMengeklar = InStr(mengeflasch,
","
)
menge = Left(mengeflasch, posMengeklar - 1)
Sheets(
"Start"
).Cells(2, 2).Value = menge
Sheets(
"Start"
).
Select
Range(
"B1"
).
Select
strPath = "Y:\"
strDateiname =
"DeleteTest_"
& Sheets(
"Start"
).Cells(1, 11).Value & Sheets(
"Start"
).Cells(1, 10).Value & Sheets(
"Start"
).Cells(1, 9).Value & Sheets(
"Start"
).Cells(2, 9).Value & Sheets(
"Start"
).Cells(2, 10).Value &
"0000"
&
".sts"
lngZeile = Range(
"A"
& Rows.Count).
End
(xlUp).Row
Open strPath & strDateiname
For
Output
As
#1
Print #1,
"Delete(Y1234)(ReelIdFolder)"
& Dateiname
Kill Dateiname
End
If
Application.ScreenUpdating =
True
End
Sub