Etiketten Drucken Via Makro (VBA)

Martin Asal @, Mittwoch, 02.05.2018, 12:59 (vor 169 Tagen) @ M0508

Mahnzeit!

Offen gesagt, verstehe ich dein Problem nicht. Abe da ich deinen Code ohnehin viel zu kompliziert finde, habe ich ihn neu geschrieben. Man hat ja sonst nix zu tun in der Mittagspause ;-)

Gehen wir davon aus, dass du in Excel pro Zeile eine Adresse hast. Ab Zeile5 ist deine Adressliste wie folgt aufgebaut:

Spalte A: Straße
Spalte B: PLZ
Spalte C: Stadt

Der folgende Code müsste das liefern, was du willst - ohne dass Word extra gestartet wird, ganz aus Excel heraus. Den Abschnitt mit deinem Code habe ich nicht getestet, von MailingLabel habe ich eigentlich kaum Ahnung. Das ist ja auch dein Code.

Viel Spaß beim Anpassen!

Martin

Public Sub Etiketten()
Dim Zelle As Range
Dim strAdr As String
Dim wd As Object
 
Set wd = CreateObject("Word.Application")
wd.Visible = True                    'Das kann später evtl entfallen
wd.Documents.Add
 
Set Zelle = ActiveSheet.Range("A5")
 
 
Do Until IsEmpty(Zelle.Value)        'Solange es Einträge in Excel gibt
    adr = Zelle & vbNewLine & Zelle.Offset(0, 1) & " " & Zelle.Offset(0, 2)
    'wd.Documents(1).Range.InsertAfter adr       'Codezeile zum Testen
    
    '-------------------------------- Ab hier dein Code
    wd.MailingLabel.DefaultPrintBarCode = False
    wd.MailingLabel.PrintOutByID LabelID:="805957270", Address:=adr, _
       ExtractAddress:=False, LaserTray:=wdPrinterManualFeed, SingleLabel:=True, _
       Row:=1, Column:=1, PrintEPostageLabel:=False, Vertical:=False
    wd.ActivePrinter = "Drucker"
    '-------------------------------- bis hier dein Code
    
 
    Set Zelle = Zelle.Offset(1)      'gehe eine Zeile runter
Loop
 
Set Zelle = Nothing
Set wd = Nothing
 
End Sub

gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum