Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1216to1220
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Macro nach ausfuehrung in Zieldatei loeschen?

Macro nach ausfuehrung in Zieldatei loeschen?
buliwyf
Hallo,
ich lasse ueber ein Auto_open ein txt file in excel importieren, aufbereiten und dieses dann unter einem anderen dateinamen abspeichern.
Der auto_open macro der dies vollfuehrt bleibt aber leider in der Zieldatei vorhanden was nicht sein soll?
Wie mache ich denn das, das dieser Macro dann in der Zieldatei nicht mehr vorhanden ist?
bisher sieht mein Sub so aus.

Sub Auto_open()
Dim strDatei As String
strDatei = "Bestellung_" & Format(Date, "dd.mm.yyyy") & ".xls"
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\bestellung.txt", Destination:=Range("A1"))
.Name = "01.06.2011"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierNone
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Range("B1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.NumberFormat = "0"
Rows("1:1").Select
Selection.Insert Shift:=xlDown
Range("A1").Select
ActiveCell.FormulaR1C1 = "KDNr"
Range("B1").Select
ActiveCell.FormulaR1C1 = "EAN"
Range("C1").Select
ActiveCell.FormulaR1C1 = "Titel"
Range("D1").Select
ActiveCell.FormulaR1C1 = "Stueckzahl"
Range("E1").Select
Columns("D:D").EntireColumn.AutoFit
ActiveCell.FormulaR1C1 = "AuftragsNr"
Range("E2").Select
ActiveWorkbook.SaveAs Filename:= _
"C:\Dokumente und Einstellungen\user\Eigene Dateien\Winline\Winline_Abfragen\ _
Bestellungen\" & strDatei
End Sub

AW: Macro nach ausfuehrung in Zieldatei loeschen?
08.06.2011 13:33:36
Oberschlumpf
Hi #Name
Es bietet sich an, dass du mit deinem Code zuerst eine neue Exceldatei erstellst.
Und in diese neue Datei importierst du dann deine Txt-Datei.
Nun kannst du die neue Datei speichern, und sie enthält keinen VBA-Code.
Damit ich dir das Ganze als VBA-Lösung zeigen kann, benötige ich aber eine Bsp-Datei mit deinem Code und eine Bsp-Txt-Datei. Und natürlich den wichtigen (Bsp-)Daten innerhalb der Dateien.
Ciao
Thorsten
AW: Macro nach ausfuehrung in Zieldatei loeschen?
08.06.2011 13:41:45
buliwyf
Hallo Thorsten,
Also die txt datei die ich importieren will ist diese
https://www.herber.de/bbs/user/75217.txt
Und die Excel datei mit dem Macro welches ich bisher verwende
ist diese
https://www.herber.de/bbs/user/75218.xls
Obwohl du dafuer auch jede x beliebige Arbeitsmappe mit dem Code nehmen koenntest.
Was ich noch erreichen moechte ist das anstelle des "bestellung.txt" der macro sich das txt mit beliebigen namen aus dem verzeichnis schnappt? Dann muss ich es nicht jedes mal umbenennen mit einem batch.
denn dieses txt file ziehe ich jeden tag per batch, per ftp runter und es hat jeden Tag einen anderen namen.
Regards
stef
Anzeige
AW: Macro nach ausfuehrung in Zieldatei loeschen?
08.06.2011 13:47:19
buliwyf
Hallo Thorsten,
also das txt file ist dieses, wobei eigtl. der name keine rolle spielen sollte, es waere schoen wenn das macro ein txt file aus einem bestimmten verzeichnis importiert mit beliebigen namen.
https://www.herber.de/bbs/user/75219.txt
Das excel macro ist in dieser Mappe obwohl du einfaCH ja nur den code nehmen muesstest den ich bereits gepostet hatte.
https://www.herber.de/bbs/user/75218.xls
Regards
Stef
AW: Macro nach ausfuehrung in Zieldatei loeschen?
08.06.2011 14:31:49
Rudi
Hallo,
würd ich so machen:
Sub TextImport()
Dim strDatei As String, strPfad As String, sFile As String
Dim strText, arrHeader, iCounter As Integer
arrHeader = Array("KdNr", "EAN", "Titel", "Stückzahl", "AuftragsNr")
strPfad = ThisWorkbook.Path & "\" '"c:\Thueringen\"
strDatei = "Bestellung_" & Format(Date, "dd.mm.yyyy") & ".xls"
sFile = Dir(strPfad & "*.txt")
If sFile  "" Then
Application.ScreenUpdating = False
Open strPfad & sFile For Input As #1
strText = Split(Input(LOF(1), 1), vbCrLf)
Close #1
With Workbooks.Add.Sheets(1)
.Cells(1, 1).Resize(, 5) = arrHeader
For iCounter = 0 To UBound(strText)
.Cells(iCounter + 2, 1).Resize(, 5) = Split(strText(iCounter), ";")
Next
With .Parent
.SaveAs Filename:= _
"C:\Dokumente und Einstellungen\kueck\Eigene Dateien\" _
& "Winline\Winline_Abfragen\Thueringen\Bestellungen\" & strDatei
.Close
End With
End With
End If
End Sub

Dein Download muss aber die einzige .txt im Ordner sein.
Gruß
Rudi
Anzeige
AW: Macro nach ausfuehrung in Zieldatei loeschen?
08.06.2011 15:41:45
buliwyf
Hallo Rudi,
funktioniert super!
danke sehr !
/regards
stef

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige