Problem mit Script Recorder/Stapelverarbeitung :/
#1
Hallo,

ich habe hier einige hundert Fotos die ich jeweils gern auf einen bestimmten Hintergrund einfügen möchte. Habe es daher mit dem Scriptrecorder und der Stapelverarbeitung versucht, aber leider funktioniert das Ganze nicht wie gewünscht.

Beispiel:

Bilder 1,2,3,4,5 .....
Hintergrund "H"

Problem:

Corel erstellt mir zwar neue Bilddateien mit meinem Wunschhintergrund. Allerdings ist auf jeder erstellten Bilddatei Bild "1" zu sehen. :/ Die fortlaufende Namensgebung der erstellten Bilddateien ist korrekt, es ist halt leider immer nur Bild "1" zu sehen. :/


sprich: (erzeugte Dateien)

Name: Bild "1" mit Hintergrund "H" --> daruf zu sehen: Bild "1"mit Hintergrund "H"
Name: Bild "2" mit Hintergrund "H" --> daruf zu sehen: Bild "1"mit Hintergrund "H"
Name: Bild "3" mit Hintergrund "H" --> daruf zu sehen: Bild "1"mit Hintergrund "H"
Name: Bild "4" mit Hintergrund "H" --> daruf zu sehen: Bild "1"mit Hintergrund "H"
Name: Bild "5" mit Hintergrund "H" --> daruf zu sehen: Bild "1"mit Hintergrund "H"



Ich hoffe es ist halbwegs verständlich, was nicht klappt. Wie kann ich dieses Problem lösen?

viele Grüße

Betriebssystem / Grafik-Software: Win 10 / Corel X5
Zitieren
#2
Hallo Schmutzbrust,

willkommen im Forum!

Du kannst es mit einem Makro probieren:

Code:
Sub BildHintergrund()
    Dim Pfad As String, Datei As String, Name1 As String, BildName As String
    Dim HGDok As Document, Bild As Document
    Dim Z As Integer
    Dim ImpFilt As ImportFilter
    Dim ExpFilt As ExportFilter
    Dim IsJpg As Boolean
    Z = 1
    BildName = "HGBild"
    Set HGDok = ActiveDocument
    Pfad = HGDok.FilePath
    Datei = HGDok.FileName
    Name1 = Dir(Pfad, vbDirectory)
    Do While Name1 <> ""
        IsJpg = Right(Name1, 4) = ".jpg"
        If Name1 <> "." And Name1 <> ".." And Name1 <> Datei And IsJpg Then
            Set ImpFilt = HGDok.Import(Pfad & Name1)
            ImpFilt.Finish
            Set ExpFilt = HGDok.Export(Pfad & BildName & Z & ".jpg", cdrJPEG)
            ExpFilt.Finish
            HGDok.Layers(1).Delete
            Z = Z + 1
        End If
        Name1 = Dir
    Loop
End Sub

Die Datei mit dem Hintergrund und die einzufügenden Bilder müssen im selben Ordner liegen.
Du musst das Hintergrundbild öffnen und dann das Makro starten.
Das Makro funktioniert nur mit JPG, kann aber für andere Dateiformate angepasst werden.

Gruß

Koter
[-] 1 Benutzer bedankt sich bei koter für diesen Beitrag:
  • schmutzbrust
Zitieren
#3
Hallo Koter,

vielen Dank für deine Nachricht und sorry für die späte Rückmeldung. Ich bin beruflich grade sehr eingespannt. :/

Das Tutorial hat soweit echt gut funktioniert. Ein paar Sachen wären da aber noch:

1. Obwohl ich die die Bilder und den Hintergrund vorher exakt auf die gleiche Pixelhöhe resized habe (192) ist bei den erstellen Bildern oben ein Rand zusehen (so als ob das Bild von der Höhe etwas zu klein für den Hintergrund war)

[Bild: GH5eTz1.jpeg]
Das zieht sich so durch alle Bilder. :/

2. Gibt es die Möglichkeit das Marko so zu erweitern, das die fertigen Bilder vielleicht in einen anderen Ordner gespeichert werden und sie den Namen des jeweiligen Ausgangbildes tragen?


viele Grüße

Betriebssystem / Grafik-Software: Win 10 / Corel X5
Zitieren
#4
Ok, den Rand hab ich wegbekommen, indem ich einfach alle Bilder auf 193 Pixel gebracht habe...

Das mit dem Namen wäre also nur noch das Problem.

Betriebssystem / Grafik-Software: Win 10 / Corel X5
Zitieren
#5
Hallo Schmutzbrust,

Code:
Sub BildHintergrund()
   Dim ZPfad As String, Pfad As String, Datei As String, Name1 As String, BildName As String
   Dim HGDok As Document, Bild As Document
   Dim Z As Integer
   Dim ImpFilt As ImportFilter
   Dim ExpFilt As ExportFilter
   Dim IsJpg As Boolean
   Dim Antw
   Z = 0
   BildName = "HGBild"
   Set HGDok = ActiveDocument
   Pfad = HGDok.FilePath
   ZPfad = Pfad & "Zielordner"
   ZPfad = ZPfad & "\"
   Name1 = Dir(ZPfad, vbDirectory)
   If Name1 = "" Then MkDir ZPfad
   Datei = HGDok.FileName
   Name1 = Dir(Pfad, vbDirectory)
   Do While Name1 <> ""
       IsJpg = Right(Name1, 4) = ".jpg"
       If Name1 <> "." And Name1 <> ".." And Name1 <> Datei And IsJpg Then
           Set ImpFilt = HGDok.Import(Pfad & Name1)
           ImpFilt.Finish
           Set ExpFilt = HGDok.Export(ZPfad & Name1, cdrJPEG)
           ExpFilt.Finish
           HGDok.Layers(1).Delete
           Z = Z + 1
       End If
       Name1 = Dir
   Loop
   Antw = MsgBox(Z & " Dateien erstellt." & vbCrLf & "Zielordner öffnen?", vbYesNo)
   If Antw = vbYes Then Shell "explorer.exe /e, " & ZPfad, vbNormalFocus
End Sub

Wenn Du die Meldung am Schluss nicht möchtest, lösche die beiden Zeilen vor „End Sub“

Gruß

Koter
[-] 1 Benutzer bedankt sich bei koter für diesen Beitrag:
  • schmutzbrust
Zitieren
#6
Hallo Koter,

danke für deine Nachricht. Jetzt hats geklappt! Vielen Dank Smile

Hatte erst vergessen alles wieder in jpgs zu wandeln, danach lief das Makro perfekt durch.

vielen Dank nochmal für deine Hilfe Smile

Betriebssystem / Grafik-Software: Win 10 / Corel X5
Zitieren



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Schrift Brush Script mt Rainer.b 3 631 14.05.2020, 02:18
Letzter Beitrag: skifan
  Problem beim Festlegen von Größe und/oder Position eines Objekts doc264 5 857 14.04.2020, 19:09
Letzter Beitrag: doc264
Photo viele Fotos per VBA bearbeiten oder (Stapelverarbeitung) Mvirnig 7 1.067 26.08.2019, 09:17
Letzter Beitrag: Mvirnig
  Stapelverarbeitung de_jeans 2 966 14.08.2019, 09:51
Letzter Beitrag: de_jeans
  Stapelverarbeitung??? Max 5 1.015 20.06.2018, 00:45
Letzter Beitrag: mattes94
  Corel Photopaint - Script ausführen aber Effekte nicht ausgeführt kede93 12 3.064 01.03.2015, 00:49
Letzter Beitrag: norre
  Stapelverarbeitung Corel home & student x6 Rita BE 7 3.371 22.01.2015, 23:07
Letzter Beitrag: norre
  X4 - Stapelverarbeitung als Tif komprimiert? Matti 12 1.907 25.12.2012, 16:54
Letzter Beitrag: koter
  X4 - Immer um 30% verkleiner per Stapelverarbeitung? Matti 2 940 25.12.2012, 11:15
Letzter Beitrag: Matti
  Stapelverarbeitung: wie alle Pics auf 500 Pixel ? StefanTX252 8 2.029 24.10.2012, 18:44
Letzter Beitrag: StefanTX252