Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Bilder kopieren und umbennen
#1
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]
Zitieren
#2
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...
Zitieren
#3
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)
Zitieren
#4
Das Crossposting ohne Querverweis klappt aber (leider) auch super ... => http://www.office-loesung.de/p/viewtopic...6&t=835655
Beste Grüße 
  Günther

Ich helfe gerne im Rahmen der Hilfe zur Selbsthilfe; Komplettlösungen werden noch nicht einmal vom Sozialamt kostenlos erstellt ...
Ich hasse unnötige Arbeit, darum weigere ich mich aus prinzipiellen Erwägungen, eine Datei nachzubauen. Also bitte eine Muster-XLSX.
Zitieren
#5
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
Zitieren
#6
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?
Zitieren
#7
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.
Zitieren
#8
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....
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste




Hinweis auf Angebot Excel-Inside - lang    Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden um dein Anliegen zu besprechen.
   Gerne erstellen wir auf dieser Basis ein Angebot.
   Sende deine Anfrage einfach
per E-Mail an anfrage@excel-inside.de


Powerd and supported by Excel-InsideSolutions