Beiträge: 11
Themen: 2
Danke erhalten: 0 in 0 Posts
Danke gesagt: 1
Registriert seit: 13.04.2024
Hallo erstmal, ich war schon mal hier konnte aber meine Zugangsdaten nicht mehr finden,
also neu registrieren lassen.
Jetzt zu meiner Frage:
Ich arbeite noch mit Corel DRAW X5 und möchte Etiketten für einen DINA4 Etikett Bogen erstellen.
Das Etikett selber soll 16x10mm groß werden, daß würde dann 336 Etikette ergeben.
In diese Etiketten soll eine fortlaufende dreistellige Nummerierung reinkommen, beginnend mit 001 und
endend 336. Und die Zahlen sollten zentriert im einzelnen Etikett drin sein!
Ich habe keine Ahnung wie das gehen könnte???. Gibt es hier im Forum schon ein Lösung dazu,
oder kann mir das jemand netterweise anhand meiner Datei erklären die ich mit hochlade?
Ich kann grad machen was ich will, die Datei ist 1,4MB groß, zu groß zum Hochladen.
Versuche als ZIP oder RAR zu packen schlägt fehl, bleibt bei 1,4 MB.
Die Etiketten GRöße ist ja bekannt, wie das angeordnet werden soll müßte ja auch klar sein,
12 Etikette von links nach rechts, 28 von oben nach unten!
Ich freue mich auf eine Rückantwort!
Betriebssystem / Grafik-Software: Win10Pro/CorelDrawX5
•
Beiträge: 149
Themen: 5
Danke erhalten: 17 in 16 Posts
Danke gesagt: 3
Registriert seit: 09.02.2007
•
Beiträge: 58
Themen: 2
Danke erhalten: 22 in 19 Posts
Danke gesagt: 8
Registriert seit: 26.08.2019
•
Beiträge: 11
Themen: 2
Danke erhalten: 0 in 0 Posts
Danke gesagt: 1
Registriert seit: 13.04.2024
14.04.2024, 09:33
(Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2024, 09:43 von S-Boxer.)
(14.04.2024, 08:17)Litschi schrieb: Oder hier
https://forum.juergens-workshops.de/show...?tid=38555
Guten Morgen,
wie fange ich bei Deiner Lösung denn an? Neue Datei A4 Blatt und dann wie weiter?
Das Etikett als Rechteck mit 16x10mm einfügen und dann positionieren wo es als erstes
Etikett startn soll, also links oben?
Oder muß man jetzt nur Dein Makro irgendwie oder wo einfügen?
Und wie legt man dann die Etikettengröße mit 16x10mm fest, und dann die
Zwischenabstände mit 0mm, so daß ich dann 12 Spalten und 28 Zeilen
festlegen könnte. ich brauche 334 Etiketten, also beginnend und alles als dreitstellig
mit 001, endend mit 334
Ich lese das Makro durch und ducrh, aber so richtig verstehen tue ich es nicht,
es ist einfach nicht mein Ding so was. Ich habe auch Schwierigkleiten mit der Lösung
im Beitrag 2 wo es nicht so geht wie s beschrieben wird. da habe ich es zwar einmal hinbekommen,
aber die zahlen waren nicht richtig zu sehen.
Vielleicht kannst Du mir das so erklären, daß auch ich begreife was genau ich tun muß?
Vergib mir, ich bin schon etwas älter! ?
Gruß S-Boxer
Betriebssystem / Grafik-Software: Win10Pro/CorelDrawX5
•
Beiträge: 11
Themen: 2
Danke erhalten: 0 in 0 Posts
Danke gesagt: 1
Registriert seit: 13.04.2024
14.04.2024, 11:27
(Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2024, 11:31 von S-Boxer.)
Hallo Litschi, ich habe jetzt schon mal was vielversprechendes hin bekommen, dank meinem Altersstarsinn!
Dein Text fürs Makro habe ich in X5 übers Menü Extras>Makros>Makro Editor>Modul einfügen>Modul rein kopiert und
geändert wie in meinem beigefügten Text, dann ist das heraus gekommen wie in den beigefügten Bildern.
Im ersten Bild sind aber die Etiketten Rahmen unsauber positioniert. An was könnte das liegen?
Das zweite Bild zeigt ja schon mal, daß es relatib gleichmäßig auf einem DIN A4 Blatt ist.
Mein geänderter Makro Text:
16x10 DVD Rücken.txt (Größe: 2,64 KB / Downloads: 2)
Jetzt würde ich noch gerne folgende Änderungen vornehmen können:
1. Die Linienstärke des Etiketten Rahmen als Haarlinie
2. Die Frabe des Rahmen in schwarz
3. Die Schriftart als Arial
4. Die Schriftgröße
5. Die Hintergrundfarbe des Etiketts in Gelb
Aber erst muß das Problem mit den unsauberen Positionen der Etiketten gelöst sein.
Und dann noch eine Frage, wenn ich die Etiketten Dokument abspeichere, wird dann das geänderte
Makro im Dokument mit abgespeichert?
Gruß S-Boxer
Betriebssystem / Grafik-Software: Win10Pro/CorelDrawX5
•
Beiträge: 1.417
Themen: 11
Danke erhalten: 264 in 224 Posts
Danke gesagt: 25
Registriert seit: 24.03.2012
hallo Boxer, hallo Litschi,
(14.04.2024, 11:27)S-Boxer schrieb: Aber erst muß das Problem mit den unsauberen Positionen der Etiketten gelöst sein...
Euer Makro richtet die Rechtecke nach dem umgebenden Rechteck des Textes (BoundingBox) aus.
Weil die Ziffern unterschiedlich breit sind, sind auch die umgebenden Rechtecke unterschiedlich.
Man braucht also ein wenig Glück damit die Position korrekt ist.
Wenn man erst die Rechtecke erstellen lässt und daran den Text ausrichtet sollte es besser klappen.
Gruß
Koter
1 Benutzer bedankt sich bei koter für diesen Beitrag:1 Benutzer bedankt Danke koter für diesen Beitrag
• Litschi
Beiträge: 11
Themen: 2
Danke erhalten: 0 in 0 Posts
Danke gesagt: 1
Registriert seit: 13.04.2024
(14.04.2024, 19:43)koter schrieb: hallo Boxer, hallo Litschi,
(14.04.2024, 11:27)S-Boxer schrieb: Aber erst muß das Problem mit den unsauberen Positionen der Etiketten gelöst sein...
Euer Makro richtet die Rechtecke nach dem umgebenden Rechteck des Textes (BoundingBox) aus.
Weil die Ziffern unterschiedlich breit sind, sind auch die umgebenden Rechtecke unterschiedlich.
Man braucht also ein wenig Glück damit die Position korrekt ist.
Wenn man erst die Rechtecke erstellen lässt und daran den Text ausrichtet sollte es besser klappen.
Gruß
Koter
Aha, da ich mich mit einem Makro erstellen nicht auskenne, wie soll das gehen zuerst die Rechtecke erstellen lassen und dann daran den Text ausrichten lassen?
Betriebssystem / Grafik-Software: Win10Pro/CorelDrawX5
•
Beiträge: 1.417
Themen: 11
Danke erhalten: 264 in 224 Posts
Danke gesagt: 25
Registriert seit: 24.03.2012
Hallo Boxer,
(14.04.2024, 20:29)S-Boxer schrieb: ...da ich mich mit einem Makro erstellen nicht auskenne...
da Du Litschis Makro geändert hast, dachte ich Du kennst Dich aus (Mein Fehler).
Beispiel:
Code: Sub NrAufkleber1()
Dim REcke As New ShapeRange, Nummern As New ShapeRange
Dim REck As Shape, NrText As Shape
Dim breit As Double, hoch As Double, PosX As Double, PosY As Double
Dim Spalten As Integer, Reihen As Integer, s As Integer, r As Integer, Nr As Integer
Dim Schriftart As String
Spalten = 4
Reihen = 8
breit = 16
hoch = 10
PosX = 9
PosY = 280
Nr = 1
Schriftart = "Arial"
Optimization = True
'Rechtecke:
For r = 0 To Reihen - 1
For s = 0 To Spalten - 1
Set REck = ActiveLayer.CreateRectangle(PosX + breit * s, PosY + hoch - hoch * r, PosX + breit + breit * s, PosY - hoch * r)
REck.Name = "R-" & r + 1 & "-" & s + 1
With REck
.OrderToBack
.Fill.UniformColor.CMYKAssign 0, 0, 100, 0 'gelber Hintergrund
.Outline.SetProperties 0.0762 'Haarlinie
End With
REcke.Add REck
Next s
Next r
'Nummern:
For Each REck In REcke
Set NrText = ActiveLayer.CreateArtisticText(0, 0, Format(Nr, "000"))
With NrText
.Text.Story.Font = Schriftart
.Text.Story.Alignment = cdrCenterAlignment
.CenterX = REck.CenterX
.CenterY = REck.CenterY
.OrderToBack
.Name = "Nr " & Nr
End With
Nummern.Add NrText
Nr = Nr + 1
Next
Nummern.OrderToFront
Optimization = False
ActiveWindow.Refresh
End Sub
Falls Du noch einen Benutzerdialog oder Sonstiges willst, gib Bescheid.
Wenn Das Makro in der Datei gespeichert werden soll, musst Du dort ein Modul anlegen.
Du findest den Ort im Projekt-Explorer des Makroeditors unter VBAProject(Dateiname)
ist die Datei noch nicht gespeichert ist sieht das wahrscheinlich so aus: VBAProject(Unbenannt-1).
Gruß
Koter
•
Beiträge: 11
Themen: 2
Danke erhalten: 0 in 0 Posts
Danke gesagt: 1
Registriert seit: 13.04.2024
(14.04.2024, 22:01)koter schrieb: Hallo Boxer,
(14.04.2024, 20:29)S-Boxer schrieb: ...da ich mich mit einem Makro erstellen nicht auskenne...
da Du Litschis Makro geändert hast, dachte ich Du kennst Dich aus (Mein Fehler).
Beispiel:
Code: Sub NrAufkleber1()
Dim REcke As New ShapeRange, Nummern As New ShapeRange
Dim REck As Shape, NrText As Shape
Dim breit As Double, hoch As Double, PosX As Double, PosY As Double
Dim Spalten As Integer, Reihen As Integer, s As Integer, r As Integer, Nr As Integer
Dim Schriftart As String
Spalten = 4
Reihen = 8
breit = 16
hoch = 10
PosX = 9
PosY = 280
Nr = 1
Schriftart = "Arial"
Optimization = True
'Rechtecke:
For r = 0 To Reihen - 1
For s = 0 To Spalten - 1
Set REck = ActiveLayer.CreateRectangle(PosX + breit * s, PosY + hoch - hoch * r, PosX + breit + breit * s, PosY - hoch * r)
REck.Name = "R-" & r + 1 & "-" & s + 1
With REck
.OrderToBack
.Fill.UniformColor.CMYKAssign 0, 0, 100, 0 'gelber Hintergrund
.Outline.SetProperties 0.0762 'Haarlinie
End With
REcke.Add REck
Next s
Next r
'Nummern:
For Each REck In REcke
Set NrText = ActiveLayer.CreateArtisticText(0, 0, Format(Nr, "000"))
With NrText
.Text.Story.Font = Schriftart
.Text.Story.Alignment = cdrCenterAlignment
.CenterX = REck.CenterX
.CenterY = REck.CenterY
.OrderToBack
.Name = "Nr " & Nr
End With
Nummern.Add NrText
Nr = Nr + 1
Next
Nummern.OrderToFront
Optimization = False
ActiveWindow.Refresh
End Sub
Falls Du noch einen Benutzerdialog oder Sonstiges willst, gib Bescheid.
Wenn Das Makro in der Datei gespeichert werden soll, musst Du dort ein Modul anlegen.
Du findest den Ort im Projekt-Explorer des Makroeditors unter VBAProject(Dateiname)
ist die Datei noch nicht gespeichert ist sieht das wahrscheinlich so aus: VBAProject(Unbenannt-1).
Gruß
Koter
Es war wohl eher mein Fehler ich habe zwar Litschis Makro nur mit den Maße des Etiketts und den Positionen angepaßt, steht ja auch dabei was da was ist, aber insgesamt kenne ich mich mit Makros nicht aus, geschweige denn wie ich eines erstellen könnte.
Ich habe jetzt Deinen Code als TEXT kopiert und im Modul eingefügt, müßte da nicht etwas passieren, bzw. angezeigt werden wenn ich auf Ausführen klicke?
Betriebssystem / Grafik-Software: Win10Pro/CorelDrawX5
•
Beiträge: 1.417
Themen: 11
Danke erhalten: 264 in 224 Posts
Danke gesagt: 25
Registriert seit: 24.03.2012
14.04.2024, 22:40
(Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2024, 22:50 von koter.
Bearbeitungsgrund: Nachtrag
)
Hallo Boxer,
Ich habe eine wichtige Zeile vergessen:
ActiveDocument.Unit = cdrMillimeter
Füge sie nach der Zeile Dim Schriftart As String ein.
Nachtrag:
Das Makro arbeitet ohne diese Zeile mit der falschen Maßeiheit.
Das Ergebnis ist dadurch viel zu groß und liegt weit außerhalb der Seite.
Gruß
Koter
1 Benutzer bedankt sich bei koter für diesen Beitrag:1 Benutzer bedankt Danke koter für diesen Beitrag
• S-Boxer
|