Makro in PhotoPaint
#1
es kommt oft vor, dass ich in PhotoPaint ein Teilbild kopiere und über den Befehl "Neu aus Zwischenablage" als neues Dokument einfüge, hat dann die Endung .cpt
   
Um das neue Dokument zu speichern muss ich den Befehl "Kombiniere mit Hintergrund" aufrufen, dann kann ich speichern.
   
Jetzt will ich noch von Dateiendung .cpt auf .jpg umstellen.
   
 
Kann mir jemand mit einem Makro helfen:
- Kombiniere mit Hintergrund
- Speichern unter
- und die Dateiendung auf .jpg umstellen, sodass ich nur noch den gewünschten Dateinamen eingeben muss?
Zitieren
#2
Hallo,
zum Macro habe ich nichts, aber....
wenn du ein Objekt hast brauchst du nur das Objekt auf die Dateileiste ziehen und erhältst so eine neue Datei.
Der Weg über die Zwischenablage entfällt dann.
   

Schönen Sonntag
Norre
[-] 1 Benutzer bedankt sich bei norre für diesen Beitrag:
  • Karthagos
Zitieren
#3
Hallo Norre,
zunächst Danke für Deine Antwort. In meinem workflow komme ich nicht auf Objekt markieren:

hier habe ich eine Vorlage
   
nun ziehe ich mit dem Hilfsmittel Rechteckmaske einen Rahmen,
   
kopiere den markierten Bereich und füge ihn über „Neu aus Zwischenablage“ein
   
Dann habe ich eine neue Datei und die Schaltfläche "Kombiniert alle Objekte mit Hintergrund" ist noch aktiv. Wo mache ich den Gedanken- oder Bearbeitungsfehler?
Zitieren
#4
Ah....mein Fehler....... ich habe gedacht dass du von einem Objekt ausgehst bzw. aus deiner Maske eins erstellst erröten

Gruß
Norre
[-] 1 Benutzer bedankt sich bei norre für diesen Beitrag:
  • Karthagos
Zitieren
#5
Hallo Norre,
trotzdem Danke, wieder was gelernt
Zitieren
#6
Hallo Günther,

probiere es mit dem folgenden Makro:

Code:
Sub JPGneuAusAuswahl()
   Dim L As Layer
   Dim ND As Document
   Dim DN As String
   Dim EF As ExportFilter
   If ActiveDocument.Mask.IsEmpty Then
       MsgBox "Keine Maske!", vbCritical, "Fehler"
       Exit Sub
   End If
   DN = Left(ActiveDocument.FullFileName, Len(ActiveDocument.FullFileName) - 3) & "jpg"
   Set L = ActiveDocument.Layers.Add("JPG", , , pntCopySelection)
   L.Cut
   Set ND = Application.CreateDocumentFromClipboard
   ND.Layers.Merge
   DN = InputBox("Dateiname", "JPG Speichern", DN)
   Set EF = ND.SaveAs(DN, cdrJPEG)
   EF.Finish
End Sub

Erst eine Maske erstellen und dann das Makro starten.
Du kannst aber eine Auswahl auch als JPG exportieren (ohne Makro).

Gruß

Koter
Zitieren
#7
Hallo Koter,
danke auch für dieses Makro, großes Kompliment! Ich gehe wie folgt vor:
Maske erstellen
   
Makro ausführen
   
Soweit ist es in Ordnung, lediglich der Abschlussspeicherdialog ist etwas umständlich weil ich Dateinamen und gewünschten Pfad eingeben muß. Schöner wäre es wenn ich diesen Speicherdialog mit voreingestelltem Dateityp .jpg hätte.
   

Mit dem Exportdialog habe ich das Problem, wenn ich das Bild aus welchen Gründen auch immer kopiere und wieder einfüge, ist es eine .cpt. Wenn ich dann exportiere, habe ich das Problem, die Kombinieren Funktion ist aktiv, wenn ich die nicht anwähle, kommt auch beim Exportieren diese Meldung.
   
Die habe ich bei Deinem Makro nicht.
 
Gruß Günther
Zitieren
#8
Hallo Günther,
weil ich gerade da bin.

Das JPG Format kann sowieso keine Ebenen bzw Vektorobjekte enthalten, deshalb ist die Warnmeldung in 2019 beim JPG eigentlich überflüssig.
Vielleicht denken die sich bei Corel...... lieber doppelte Sicherheit gerade an kritischen Tagen MrGreen

Gruß
Norre
Zitieren
#9
Hallo Norre,

dass die Meldung überflüssig ist, hatte ich eigentlich auch gedacht. Trotzdem ist es wieder ein unnötiger Bestätigungsklick mehr, den man vollziehen muß, deswegen suche ich immer Wege, etwas zu vereinfachen.

Gruß Günther
Zitieren
#10
Hallo Günther,

(24.09.2019, 11:12)Karthagos schrieb: ...Schöner wäre es wenn ich diesen Speicherdialog mit voreingestelltem Dateityp .jpg hätte...

Du kannst es mit diesem Makro versuchen:

Code:
Sub JPGneuAusAuswahl()
   Dim L As Layer
   Dim ND As Document
   Dim DN As String
   Dim EF As ExportFilter
   If ActiveDocument.Mask.IsEmpty Then
       MsgBox "Keine Maske!", vbCritical, "Fehler"
       Exit Sub
   End If
   DN = Left(ActiveDocument.FullFileName, Len(ActiveDocument.FullFileName) - 3) & "jpg"
   DN = CorelScriptTools.GetFileBox("JPG (*.jpg)|*.jpg", "Datei Speichern", 1, DN)
   If Trim(DN) = "" Then Exit Sub
   Set L = ActiveDocument.Layers.Add("JPG", , , pntCopySelection)
   L.Cut
   Set ND = Application.CreateDocumentFromClipboard
   ND.Layers.Merge
   Set EF = ND.SaveAs(DN, cdrJPEG)
   EF.Finish
End Sub

Der Dialog ist Deinem Screenshot ähnlich.
Ich bin nur nicht sicher, ob es mit Deiner Version klappt.
Ich habe X7.

Gruß

Koter
[-] 1 Benutzer bedankt sich bei koter für diesen Beitrag:
  • Karthagos
Zitieren



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  PhotoPaint Standard Marcell 1 554 20.11.2022, 17:48
Letzter Beitrag: Karthagos
  PhotoPaint per Makro beenden Karthagos 6 1.373 14.01.2022, 09:55
Letzter Beitrag: Karthagos
  PhotoPaint und Stifttablet Karthagos 5 1.400 27.01.2021, 00:46
Letzter Beitrag: Unkraut
  Bilddarstellung in PhotoPaint vs. IrfanView Karthagos 10 2.471 27.11.2020, 01:44
Letzter Beitrag: koter
  Radiergummi-Form (Photopaint H&S 2018) Alphazalpha 2 1.274 31.01.2020, 00:11
Letzter Beitrag: Alphazalpha
  Programmfehler PhotoPaint 2019 Marcell 4 2.726 23.01.2020, 12:07
Letzter Beitrag: norre
  Corel Photopaint Cursor springt Momo61 6 3.655 15.01.2020, 12:42
Letzter Beitrag: Alphazalpha
  Bild/Foto im Ausschnitt-Editor von PhotoPaint bearbeiten Karthagos 4 2.718 01.10.2019, 10:24
Letzter Beitrag: Karthagos
  PhotoPaint als Standard für JPG / Version 2019 niereeck 3 1.797 23.05.2019, 14:18
Letzter Beitrag: norre
  Automatisierung über Makro zu langsam 93dd 1 845 26.08.2018, 15:36
Letzter Beitrag: koter