Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
200to204
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
200to204
200to204
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei umbenennen

Datei umbenennen
13.01.2003 12:49:26
Evolution100
Hi,

ich hätte da eine Frage, ob man das mit Excel und vb realisieren kann!

Ein Job speichert mir jede stunde 2 Dateien zur exakt gleichen zeit ab, wobei hierbei sich der Dateiname ändert!
z.b.

datei1von1201.xls gespeichert um 12:01
datei2.pdf gespeichert um 12:01

nun soll er die Datei2.pdf automatisch in datei1von1201.pdf umbenennen... also in den dateinamen von datei 1 und die erweiterung wie gehabt! gibts da ne einfache möglichkeit?

Danke euch für jeden Tip

Evo

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Klarnamen?
13.01.2003 12:56:17
Michael Scjeffler
Hallo,

bitte Klarnamen!

Gruß

Micha

Re: Datei umbenennen
13.01.2003 12:58:21
Steffen D
Hi,

Beispiel:
wenn du test.xls in meintest.xls umbenennen willst, dann funktioniert es so:

Name ("C:\test\test.xls") As ("C:\test\meintest.xls")

Gruß
Steffen D

Re: Klarnamen?
13.01.2003 13:06:00
Markus
Sorry, (hier is Evo...)

Danke für den umbenenn tip.. aber leider reicht mir das nicht!
der zweite dateiname kann sich ändern!
zb heist er einmal

datei2.pdf
oder
datei3.pdf usw..

er muss die uhrzeit nutzten, wann gespeichert wurde!

Vielleicht weiss noch jemand was

Danke euch

Markus (Evo)

Re: Datei umbenennen
13.01.2003 13:08:39
Norbat
Hi Evo,

versuch's mal über das FileSystemObeject (FSO).

Kleines Beispiel:


Sub p_RenameFile()

Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile "c:\temp\sample01.doc", "c:\temp\sample.doc"
Set fso = Nothing

End Sub

Anzeige
Re: Klarnamen?
13.01.2003 13:17:43
Norbat
Noch einmal...

Mit dem FSO kannst Du Dir auch das Erstelleungsdatum nebst Uhrzeit holen.

Beispiel

...
Set oFile = fso.GetFile("c:\temp\sample.doc")
strDate = oFile.DateCreated

...

Re: Datei umbenennen
13.01.2003 13:21:20
Markus
Hallo Norbat,

auch das funzt leider so nicht!
Oder hab ich mich so schlecht ausgedrückt?

es gibt immer zwei dateien, die die gleiche uhrzeit und datum haben! die zweite datei soll immer den gleichen namen wie die erste annehmen bis auf die endung!
jedoch heist die zweite datei nicht immer gleich!

Hintergrund, wir ziehen hier ein reporting automatisch, welches eine xls und eine pdf datei erzeugt
die xls hat den richtigen namen zb.b
Report_1_vom_12.1_um_1200uhr.xls
die erzeugete pdf datei heisst
report.pdf
nach der aktion (welche dann automatiesiert werden soll) soll sie
Report_1_vom_12.1_um_1200uhr.pdf
heissen

Gruss

Markus

Anzeige
Re: Datei umbenennen
13.01.2003 13:46:32
Norbat
Hi Evo,

das würde ich dann wie folgt machen:
Im Exportverzeichnig eurer Anwenung würde ich immer nur die gerade exportierten Dateien ablegen. Alles andere wir aus dem Ordner in einen Reporting-Ordner verschoben. Jetzt musst Du mit Deinem Script eigentlich nur noch den Namen der Excel-Datei ohne Dateiendung lesen und diesen beim verschieben über die pdf-Datei bügeln.
Das Folder-Object des FSO hat eine Files-Collection. Durch die Läufst Du einfach via For-Each-Schleife durch. So holst Du dir die Namen der Excel- und pdf-Datei.

ciao

Re: Klarnamen?
13.01.2003 14:09:16
Norbat
So sollte es im Groben funktionieren:
Die Excel-Datei wird ohne Umbenennung verschoben. Die PDF-Datei benkommt den Namen der Excel-Datei mit Erstellungsdatum und Uhrzeit.


Sub p_jetza()
Dim oFSO, oFLD, strNewPDFName
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFLD = oFSO.GetFolder("c:\temp\expo")

For Each oFile In oFLD.Files
If LCase(Right(oFile.Name, 3)) = "xls" Then
strNewPDFName = Left(oFile.Name, Len(oFile.Name) - 4) & "_" & Replace(Replace(oFile.DateCreated, ".", ""), ":", "")
oFSO.MoveFile "c:\temp\expo\" & oFile.Name, "c:\temp\expo\report\" & oFile.Name
End If
Next
For Each oFile In oFLD.Files
If LCase(Right(oFile.Name, 3)) = "pdf" Then
oFSO.MoveFile "c:\temp\expo\" & oFile.Name, "c:\temp\expo\report\" & strNewPDFName & ".pdf"
End If
Next
'Clear up
Set oFLD = Nothing
Set oFSO = Nothing

End Sub


Anzeige

35 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige