Office-Fragen.de
Bilder kopieren und umbennen - Druckversion

+- Office-Fragen.de (https://office-fragen.de)
+-- Forum: Microsoft Office (https://office-fragen.de/forum-1.html)
+--- Forum: Excel (https://office-fragen.de/forum-2.html)
+--- Thema: Bilder kopieren und umbennen (/thread-9639.html)



Bilder kopieren und umbennen - AndreasRoe - 03.05.2020

Hallo Zusammen,



ich möchte per VBA-Makro aus einem Ordner "Fotos1" z.B. 10 Bilddateien in den Ordner "Fotos2" kopieren und diese dann umbenennen.


Im  Ordner "Fotos1" ist die Benennung z. B. so:            DSCN0398.JPG; DSCN0399.JPG; etc.



und im Ordner "Fotos2" sollen diese dann so benannt werden: Standort_XYZ (1).JPG; Standort_XYZ (2).JPG; etc.



neuer Bildname = Standort_XYZ = wird über eine Variable angefragt.



Kann jemand helfen?



Grüße, Andreas





PS: Foto im Anhang zum besseren Verständnis[Bild: Fotos-kopieren-und-umbenennen.png]


RE: Bilder kopieren und umbennen - thowe - 03.05.2020

Hallo Andreas,

du kannst dich beispielsweise da einlesen....

https://trumpexcel.com/vba-filesystemobject/

Sollen alle Bilddateien eines bestimmten Ordners kopiert werden
Sollen nur spezifische ? Wenn ja, welche?
Wo stehen die Infos welche Bilddateien kopiert werden sollen: 
a) In einer Zelle
b) in einer Userform
c) in ....

Nur so nebenbei, bei 10 Bilddatein bist du manuell schneller...


RE: Bilder kopieren und umbennen - AndreasRoe - 03.05.2020

Hallo,

Sollen alle Bilddateien eines bestimmten Ordners kopiert werden   --->  Ja, immer alle
Wo stehen die Infos welche Bilddateien kopiert werden sollen:      --->  c) immer im Ordner Fotos1
Nur so nebenbei, bei 10 Bilddatein bist du manuell schneller...      --->  unterschiedlich, geht auch in die ca. 200, dieses ist nur ein Teil eines Scriptes


Grüße, Andreas

PS: Cool, das Kopieren der Bilddateien von Ordner Fotos1 in Ordner Ordner Fotos2 mit "Sub CopyAllFiles()" klappt super. Jetzt noch das umbenennen...  ;O)


RE: Bilder kopieren und umbennen - GMG-CC - 03.05.2020

Das Crossposting ohne Querverweis klappt aber (leider) auch super ... => http://www.office-loesung.de/p/viewtopic.php?f=166&t=835655


RE: Bilder kopieren und umbennen - thowe - 03.05.2020

Gut Andreas,

poste mal den Code den du bisher hast, dann gucken wir mal, wie wir dir beim umbenennen "in deinem Code" helfen können....

EDIT:

also wenn du diesen Code hast, dann gebe ich dir ein paar Hinweise. Selbst zu coden und einzubauen, das schaffst du sicher

Code:
Sub CopyAllFiles()
Dim MyFSO As FileSystemObject
Dim MyFile As File
Dim SourceFolder As String
Dim DestinationFolder As String
Dim MyFolder As Folder
Dim MySubFolder As Folder

SourceFolder = "C:\Users\sumit\Desktop\Source"
DestinationFolder = "C:\Users\sumit\Desktop\Destination"

Set MyFSO = New Scripting.FileSystemObject
Set MyFolder = MyFSO.GetFolder(SourceFolder)

For Each MyFile In MyFolder.Files
    MyFSO.CopyFile Source:=MyFSO.GetFile(MyFile), _
    Destination:=DestinationFolder & "\" & MyFile.Name, Overwritefiles:=False
Next MyFile

In der "For Each Schleife" kopierst du mit:
Code:
Destination:=DestinationFolder & "\" & MyFile.Name, Overwritefiles:=False

Tipp:

weise der Eigenschaft MyFile.Name vor "Destination:= …" den Wert zu den du gerne hättest nämlich "Standort_XYZ"


lg


RE: Bilder kopieren und umbennen - AndreasRoe - 03.05.2020

Das ist der Quellcode:


Sub BildCopy()

Dim MyFSO As FileSystemObject
Dim MyFile As File
Dim SourceFolder As String
Dim DestinationFolder As String
Dim MyFolder As Folder
Dim MySubFolder As Folder

SourceFolder = ActiveWorkbook.Path & "\Rohdaten\Fotos1\"
DestinationFolder = ActiveWorkbook.Path & "\Standort_XYZ\Fotos2\"

Set MyFSO = New Scripting.FileSystemObject
Set MyFolder = MyFSO.GetFolder(SourceFolder)

For Each MyFile In MyFolder.Files
    MyFSO.CopyFile Source:=MyFSO.GetFile(MyFile), _
    Destination:=DestinationFolder & "\" & MyFile.Name, Overwritefiles:=True
Next MyFile

'Umbenennen der Dateien

End Sub


PS: Wenn ich das Script auf einem anderen Rechner "installiere", muss dann auch immer der Verweis auf die "Microsoft Scripting Runtime" gegeben sein?


RE: Bilder kopieren und umbennen - Flotter Feger - 03.05.2020

Hallo zusammen,

jetzt schon im dritten Forum ? Schön ... Cool

@Thowe:

Zitat:Nur so nebenbei, bei 10 Bilddatein bist du manuell schneller...
dem Datei-Explorer ist es übrigens völlig egal, ob 10 oder 10000 Dateien ... Strg+A markiert sie alle gleichzeitig ... dann noch kurz auf F2 und einmal den neuen Namen der Dateien eingegeben ... nach drücken der RETURN-Taste ist alles erledigt.


Ist aber alles Teil eines viel größeren VBA-Programms ... habe ich gelesen ...

@Andreas:
kennst jemanden namens Jens ? Rolleyes

Sabina

Ach so ... PS:
zum PS von Andreas ... damit niemand sagen kann, ich würde nichts sinnvolles beitragen ... ja, musst du ... außer du stellst um auf Late-Binding.


RE: Bilder kopieren und umbennen - thowe - 03.05.2020

Hallo

bei FSO muss der Verweis zu "Microsoft Scripting Runtime"  gesetzt sein. Könnte man auch via VBA erledigen. Google mal danach

Warum willt du nach der For Each Schleife erst umbenennen?

Ich habe davor geantwortet als Tipp wie man das lösen könnte

Der beste Lerneffekt entsteht wenn man sich selbst ein wenig erarbeitet

Und bitte verweise in den anderen Foren auf diesen Thread hier. Crosspost sind - absolut nachvollziehbar - nicht gerne gesehen....