Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
708to712
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
708to712
708to712
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro - Mit aktuellem File Namen speichern

Makro - Mit aktuellem File Namen speichern
13.12.2005 15:03:17
Alex
Hallo !
Ich habe ein Makro das mir eine Datei umwandelt und dann als csv speichert !
Das funktioniert auch aber ich möchte das Makro für mehr als eine einzige Datei benutzen und das Makro soll mir dann immer eine CSV Datei erstellen die den gleichen Namen hat wie die Excel Datei von der das CSV erzeugt wurde.
Natürlich hinten mit .csv
z.B.: Ursprungdatei: test.xls
Wenn ich das Makro ausführe soll es mir eine datei erzeugen die test.csv heißt !
Im Moment ist es leider so das das Makro immer den Namen der Datei benutzt mit der ich das Makro aufgezeichnet habe !
Hier der Code:

Sub Translate()
' Translate Makro
' Makro am 13.12.2005 von dan aufgezeichnet
' Tastenkombination: Strg+e
Cells.Replace What:="" & Chr(10) & "", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Select
With Selection
.VerticalAlignment = xlCenter
.WrapText = False
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("H18").Select
ChDir "I:\Folder\Stücklisten"
ActiveWorkbook.SaveAs Filename:="I:\Folder\Stücklisten\PH531-1528.csv", _
FileFormat:=xlCSV, CreateBackup:=False
End Sub

Wär toll wenn mir jemand helfen könnte !
Wie kann ich das Makro in jeder beliebigen Datei benutzen und wie kann ich es auf eine Excel Schaltfläche in der Schaltfläche Zeile legen ?
Gruß -ALEX-

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro - Mit aktuellem File Namen speichern
13.12.2005 15:07:44
Alexander
Hallo Alex.
Ändere folgende Zeile:
ActiveWorkbook.SaveAs Filename:="I:\Folder\Stücklisten\PH531-1528.csv", _
FileFormat:=xlCSV, CreateBackup:=False
in diese Zeile:
ActiveWorkbook.SaveAs Filename:= Replace(LCase(ActiveWorkbook.FullName),"csv","xls"), _
FileFormat:=xlCSV, CreateBackup:=False
Das sollte es eigentlich tun.
Gruß, Alex.
AW: Makro - Mit aktuellem File Namen speichern
13.12.2005 15:15:38
Alex
Hi !
Jetzt überschreibt er mir die xls ?
Er soll mir die Datei neu anlegen mit dem gleichen Dateinamen aber csv ?!
Geht das ?
Gruß -Alex-
AW: Makro - Mit aktuellem File Namen speichern
13.12.2005 15:21:25
Alexander
Der Code überschreibt Dir Deine xls-Datei nicht.
ActiveWorkbook.Fullname ergibt den Vollständigen Dateinamen und -Pfad deiner xls-Datei.
LCase sorgt dafür, dass alles klein geschrieben wird.
Replace sorgt dafür, dass im Dateinamen die Endung "xls" durch "csv" ersetzt wird.
SaveAs sorgt dafür, dass eine NEUE Datei angelegt wird.
Das Replace bezieht sich also nicht auf die Dateien, sondern nur auf den String mit dem Dateinamen!
Gruß, Alex.
Anzeige
AW: Makro - Mit aktuellem File Namen speichern
13.12.2005 15:43:21
Alex
sorry, ich möchte Dich nicht ärgern, aber ich habs ausprobiert !
Als Ergebniss bekomme ich die umgewandelte Datei im als xls !!!?
Er fragt mich sogar noch ob ich die Datei wirklich überschreiben will !!!?
Oder hab ich da was falsch gemacht .. ich hab nur die Zeilen ersetzt die Du mir gesagt hast ! ?
AW: Makro - Mit aktuellem File Namen speichern
13.12.2005 16:06:30
Alexander
Sorry. Ich konnte das ganze nicht ausprobieren, war einfach davon ausgegangen, dass es geht, weil es immer so geht, aber anscheinend ist das csv-Format ein bisschen speziell.
Damit kenn ich mich leider nicht aus.
Man könnte das ganze aber auch noch so machen:

Sub Translate()
Dim fso as Object
Set fso = CreateObject("Scripting.FileSystemObject")
Range("H18").Select
ChDir "I:\Folder\Stücklisten"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs ActiveWorkbook.FullName, _
FileFormat:=xlCSV, CreateBackup:=False
fso.CopyFile ActiveWorkbook.FullName, Replace ActiveWorkbook.FullName,"xls","csv",,,vbTextCompare
set fso = Nothing
ActiveWorkbook.SaveAs ActiveWorkbook.FullName, _
FileFormat:=xlNormal, CreateBackup:=False
Application.DisplayAlerts = True
End Sub

Ich hab keine Ahnung, ob das geht, aber nen Versuch wär's wert.
Gruß, Alex.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige