Benutzerdefiniertes Etikett - Seitenbreite, höhe

Moderator: ModerationP

Benutzerdefiniertes Etikett - Seitenbreite, höhe

Beitragvon Calle Cool » 14. Mai 2021, 10:06

Hi zusammen,
ich hier: http://codevba.com/de/Word/CustomLabel.htm eine schöne Seite gefunden wie ich ein eigenes Etikett per Makro erstellen kann. Was mir jetzt nur noch nicht ganz klar ist wie ich die Seitenbreite, und Höhe festlegen kann. Im Menü von Word gibt es ja da 2 eigene Felder.

Ich hab gesehen das es
Code: Alles auswählen
Application.MailingLabel.CustomLabels(1).PageSize

gibt, aber in allen Beispielen wird hier mit Variablen wie wdCustomLabelA4. Wie bekomme ich hier nun mein eigenes rein?

Ich hab es jetzt schon mit
Code: Alles auswählen
cLl.PageSize.Height = CentimetersToPoints(3.5)
cLl.PageSize.Width = CentimetersToPoints(6)

Aber das funktioniert natürlich nicht...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Calle Cool am 14. Mai 2021, 12:25, insgesamt 1-mal geändert.
Calle Cool
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 57
Registriert: 24. Apr 2012, 11:11

Re: Benutzerdefiniertes Etikettt - Seitenbreite, höhe

Beitragvon Calle Cool » 14. Mai 2021, 12:24

Ich hab es jetzt so gemacht das ich das Blatt vorher auf die richtige Größe anpasse und dann das Etikett erstelle. Dann scheint er die richtige Seitengröße zu übernehmen

Code: Alles auswählen
Sub Makro1()
    Dim cLl As CustomLabel
    With ActiveDocument.PageSetup
        .BottomMargin = CentimetersToPoints(0)
        .RightMargin = CentimetersToPoints(0.2)
        .PageHeight = Application.CentimetersToPoints(3.5)
        .PageWidth = Application.CentimetersToPoints(6)
    End With
   
    Set cLl = Application.MailingLabel.CustomLabels.Add(Name:="Test7")
   
    cLl.Height = CentimetersToPoints(3.2)   
    cLl.Width = CentimetersToPoints(5.7)     
    cLl.SideMargin = CentimetersToPoints(0.2)
    cLl.TopMargin = CentimetersToPoints(0.1) 
End Sub
Calle Cool
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 57
Registriert: 24. Apr 2012, 11:11

Re: Benutzerdefiniertes Etikett - Seitenbreite, höhe

Beitragvon Calle Cool » 14. Mai 2021, 14:09

Leider war der Code doch nicht die Lösung.
Nach einem Neustart wählt er in den Etiketten anstatt Benutzerdefiniertesformat immer "mini" aus und ich habe keine Idee wie ich das wieder auf Benutzerdefiniert bekomme.

Erstelle ich das Etikett über Word und frag dann .PageSize ab dann liefert er mir -1
Wenn ich das dann im Code setzen will dann akzeptiert er -1 nicht.

Jemand eine Idee?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Calle Cool
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 57
Registriert: 24. Apr 2012, 11:11

Re: Benutzerdefiniertes Etikett - Seitenbreite, höhe

Beitragvon theoS » 14. Mai 2021, 22:11

Hast du den Code gekauft?
Dann kann es schon sein, dass das eine der Beschränkungen ist, die in der Trial-Phase gegeben sind. Die wollen ja, dass man das Zeug kauft.
Ich bin mir nun nicht so recht sicher, wozu du den Code überhaupt brauchst? Das Etikett richtet man einmal ein, das bleibt doch dann zur Auswahl.
Das macht man in dem Dok genau 1 mal.
Selbst beim Wechseln hat man das schnell umgestellt.
Wozu VBA?
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5658
Registriert: 19. Apr 2008, 00:14

Re: Benutzerdefiniertes Etikett - Seitenbreite, höhe

Beitragvon Calle Cool » 17. Mai 2021, 08:12

theoS hat geschrieben:Hast du den Code gekauft?
Selbst beim Wechseln hat man das schnell umgestellt.
Wozu VBA?

Code gekauft? Den habe ich selber geschrieben. Wenn du Office365 meinst -> das ist bezahlt.
Klar ist es schnell eingerichtet. Es geht aber darum, dass ich ein Makro geschrieben habe das Etiketten druckt. Nun ist es so, dass wir mehrere Benutzerdefinierte Etiketten in meiner Abteilung haben und doch immer mal wieder ein Mitarbeiterwechsel. Daher empfand ich es Praktisch das das Etikettenmakro prüft ob alle nötigen benutzerdefinierten Etiketten da sind und wenn nicht diese auch gleich erstellt (dann heißen Sie auch alle gleich und es gibt keinen Tippfehler).

Der Code zum Erstellen einer Etikettenvorlage ist ja auch nicht groß. Wenn man ein Standardformat wie A4 hat, dann ist es auch kein Problem (9 Zeilen code).

Das Problem ist anscheinend das es keine Möglichkeit gibt per VBA auf Benutzerdefiniert zu schalten und die Blattgröße selbst anzugeben. Das scheint nur über das Word-Menü zu gehen. Daher hier die Frage ob jemand noch einen Trick kennt.

Ich weiß auch mittlerweile warum mein Code einmal funktioniert hat. Sobald man das Etikett manuell erstellt und es einmal verwendet und bis zum Ausführen des Codes kein Standardetikett mehr auswählt, dann erstellt er das Etikett ohne Probleme. Da übernimmt Word automatisch die "Benutzerdefiniert" Einstellung. Sobald man aber vor der Ausführung des Codes ein Standardetikett auswählt, dann gehts es nicht mehr.
Calle Cool
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 57
Registriert: 24. Apr 2012, 11:11

Re: Benutzerdefiniertes Etikett - Seitenbreite, höhe

Beitragvon theoS » 17. Mai 2021, 20:07

Ich meinte mit gekauft schon den Code, den du verlinkt hast.
Dass der Code einmal beim Erstellen funktioniert, ist gut, beim zweiten Mal erstellst du das Label ja nicht, da weist du es ja dem Dok zu.
Bin ein wenig verwundert, dass du da so kleine Blätter hast, aber die würde ich dann evtl. wirklich vorab in der Seitengröße einstellen, dann das Default-Label neu setzen, und dann sollte es gut sein. Die Größe -1 bekommt jedes Etikett, das keine Standardgröße zugewiesen bekommen hat. Du pflegst von dem Dialog aus nur die "Vorab-Seiteneinstellung" die dein Dokument haben wird, wenn du ein neues Dokument draus erzeugst. Wo Word diese Einstellungen versteckt? Weiß nicht, vermutlich in der Normal oder so wo.
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5658
Registriert: 19. Apr 2008, 00:14

Re: Benutzerdefiniertes Etikett - Seitenbreite, höhe

Beitragvon Calle Cool » 18. Mai 2021, 10:58

theoS hat geschrieben:Ich meinte mit gekauft schon den Code, den du verlinkt hast.
Dass der Code einmal beim Erstellen funktioniert, ist gut, beim zweiten Mal erstellst du das Label ja nicht, da weist du es ja dem Dok zu.
Bin ein wenig verwundert, dass du da so kleine Blätter hast, aber die würde ich dann evtl. wirklich vorab in der Seitengröße einstellen, dann das Default-Label neu setzen, und dann sollte es gut sein. Die Größe -1 bekommt jedes Etikett, das keine Standardgröße zugewiesen bekommen hat. Du pflegst von dem Dialog aus nur die "Vorab-Seiteneinstellung" die dein Dokument haben wird, wenn du ein neues Dokument draus erzeugst. Wo Word diese Einstellungen versteckt? Weiß nicht, vermutlich in der Normal oder so wo.

Nein den habe ich nicht gekauft. Soll ich dann die Verlinkung besser wieder entfernen? Hab mir selbst nur das cll als Variabelnahme entliehen. Ansonsten war es für mich einfach nur eine Verständlichere Übersicht als das Microsoft Pendant.
So klein weil ich es auf ein zebra-Labeldrucker (Rolle) ausdrucken möchte. Jedes Label ist da sozusagen eine Seite. Oder geht das anders besser?

Ich hab es jetzt so gelößt das ich das Etikettt mit einen vorgegebenen Format erstelle
Code: Alles auswählen
Sub HDWEtikett()
Dim cLl As CustomLabel
   With Application.MailingLabel
            Set cLl = .CustomLabels.Add(Name:="HDW Endlos MA")
            cLl.Height = CentimetersToPoints(3.2)     'Höhe
            cLl.Width = CentimetersToPoints(5.7)      'Breite
            cLl.SideMargin = CentimetersToPoints(0.2) 'Seitenrand
            cLl.TopMargin = CentimetersToPoints(0.1)  'Oberer Rand
            cLl.PageSize = wdCustomLabelMini          'Kleinste Blatt -> Kann eigentlich jedes genommen werden
            cLl.NumberAcross = 1                      'Anzahl Etiketten in einer Zeile
            cLl.NumberDown = 1                        'Anzahl Etiketten in einer Spalte
    End With
End Sub


und dann die Seite anpasse
Code: Alles auswählen
With ActiveDocument.PageSetup
   .LeftMargin = CentimetersToPoints(0.2)
   .RightMargin = CentimetersToPoints(0.2)
   .TopMargin = CentimetersToPoints(0.1)
   .PageWidth = CentimetersToPoints(6)
   .PageHeight = CentimetersToPoints(3.5)
   .Orientation = wdOrientPortrait
End With


Allerdings läuft das auch nicht reibungslos :-(
Das Problem ist das ich ja als Seitenbreite 6cm wähle und als Seitenhöhe 3,5cm. Wenn ich dann aber Hochformat auswähle Tauscht es die Seitenverhältnisse Sprich aus Breite wird 3,5 und Höhe 6.
Setz ich das Orientation als erstes wdOrientPortrait und stell dann Höhe und Breite ein dann ändert Word das wdOrientPortrait in wdOrientLandscape. Kann ich diesen automatischen Wechsel irgendwie unterbinden?
Calle Cool
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 57
Registriert: 24. Apr 2012, 11:11

Re: Benutzerdefiniertes Etikett - Seitenbreite, höhe

Beitragvon theoS » 18. Mai 2021, 21:20

Sag das doch gleich.
Zebra bietet da doch glatt Support an:
https://www.zebra.com/us/en/support-dow ... -Word.html

sogar in Deutsch:
https://supportcommunity.zebra.com/s/ar ... anguage=de

Ich denke, du hast dort doch auch den Treiber für den Drucker installiert, oder?
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5658
Registriert: 19. Apr 2008, 00:14


Zurück zu Word Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste