• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Print vraagje

Status
Niet open voor verdere reacties.

udo1967

Gebruiker
Lid geworden
28 mrt 2005
Berichten
159
In excel wordt een (uitgebreidt) adressen bestand bijgehouden.
Op een apart werkblad is een layout gemaakt om Etiketten
te printen naar een termisch label printer (STAR TSP-700).
Deze printer is aangesloten op een hp500x printserver op poort 2.
(IP: 192.168.123.109 Poort: 9101)

Op dit werkblad komt een button die alle ingevulde labels
(met vert.zoeken) moet uitprinten naar de label
printer TSP-700 op bovenstaand IP en poort adres.

Heeft iemand een idee hoe deze code voor de button eruit
moet komen te zien, incl verwijzing naar IP & Prt adress ?

(vraag is/wordt ook geplaatst in ms/excel newsgroep)

BVD, Rob
 
Macro gemaakt

Heb de onderstaande Macro gemaakt maar zou graag via
een popup schermpje zelf de range willen invullen.
A1:E128 is gelijk aan 20 etiketten, per 8 rijen 1 etiket.
Heb echter geen idee hoe dat te doen... :o

Iemand die me kan helpen ?



Sub TSP700()
'
Range("A1:E128").Select
Application.ActivePrinter = "STAR TSP-700 (via HP500x prt2) op Ne11:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"STAR TSP-700 (via HP500x prt2) op Ne11:", Collate:=True
End Sub
 
Zoiets?

Code:
Sub TSP700()

    Dim r As Range

    Set r = Application.InputBox("Selecteer het gebied", Type:=8)

    If Not r Is Nothing Then
        r.Select
        Application.ActivePrinter = "STAR TSP-700 (via HP500x prt2) op Ne11:"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
        "STAR TSP-700 (via HP500x prt2) op Ne11:", Collate:=True
    End If
End Sub

Wigi
 
voorbeeld bestand

Hierbij een voorbeeld bestand... met tekstbox.

WiGi of anderen kun je helpen ?
 

Bijlagen

Allé, hier is de code:

Code:
Private Sub CommandButton3_Click()
    
    Dim r As Range
    Dim rNummers As Range
    
    Const iAANTALRIJENPERETIKET As Integer = 8
    
    Set rNummers = Range("I7").Resize(20)
    
    If Application.WorksheetFunction.Count(rNummers) > 0 Then
    
        Application.ScreenUpdating = False
        For Each r In rNummers.SpecialCells(xlCellTypeConstants, xlNumbers)
        
            Range("A1").Offset(iAANTALRIJENPERETIKET * (r.Offset(, 1) - 1) - 1).Resize(iAANTALRIJENPERETIKET).EntireRow.Hidden = True
        
        Next
        
        Application.ActivePrinter = "STAR TSP-700 (via HP500x prt2) op Ne11:"
        
        With ActiveSheet
            
            .PageSetup.PrintArea = "$A$1:$E$128"
            .PrintOut Copies:=1, Collate:=True
        
        End With
        
        Range("A1:A128").EntireRow.Hidden = False

        Application.ScreenUpdating = True
    
    Else
    
        MsgBox "Er is niets te printen!", vbCritical, ""
        
    End If
    
End Sub

ongeteste code

Wigi
 
fout melding

Heb de Macro ingevoegd maar kom een foutmelding 1004 tegen....

Zie meegeleverd bestand !
 

Bijlagen

Oei, typfoutje.

De 2de keer dat er -1 staat, dat moet weg.
 
verkeerd om ?

Hallo WiGi,

Heb de aanpassing gemaakt maar kom tot twee rare probleempjes.

1) Na het klikken van de button "Print Labels" springt de button na boven.
Blijft dus niet op zijn plaats zitten waar hij moet zijn...

2) Het printen van de labels gaat niet goed. Ipv. dat hij Label 1 t/m 8 print,
print hij de Labels 9 t/m 20... of welke keuze je ook maakt hij doet 't
net andersom...

Zie meegeleverd bestand...
 

Bijlagen

Zo dan:

Code:
Private Sub TSP700_Print_Button_Click()

Dim r As Range
    Dim rNummers As Range
    
    Const iAANTALRIJENPERETIKET As Integer = 8
    
    Set rNummers = Range("I7").Resize(20)
    
    If Application.WorksheetFunction.Count(rNummers) > 0 Then
    
        Application.ScreenUpdating = False
        For Each r In rNummers.SpecialCells(xlCellTypeBlanks)
        
            Range("A1").Offset(iAANTALRIJENPERETIKET * (r.Offset(, 1) - 1)).Resize(iAANTALRIJENPERETIKET).EntireRow.Hidden = True
        
        Next
        
        Application.ActivePrinter = "STAR TSP-700 (via HP500x prt2) op Ne11:"
        
        With ActiveSheet
            
            .PageSetup.PrintArea = "$A$1:$E$160"
            .PrintOut Copies:=1, Collate:=True
        
        End With
        
        Range("A1:A160").EntireRow.Hidden = False

        Application.ScreenUpdating = True
    
    Else
    
        MsgBox "Er is niets te printen!", vbCritical, ""
        
    End If
    
End Sub

En het meeschuiven: in de eigenschappen van de knop kan je instellen dat het niet mag meebewegen met de cellen. Wat er gebeurt is dat het verbergen van niet af te printen rijen de knop mee beweegt (als de knop op zo een rij staat).

Wigi
 
foutmeldingen

Hallo WiGi,

Fout lijkt verholpen echter :

Als ik 1 t/m 19 print dan worden er 19 geprint maar als ik 20 labels
wil laten printen (1 t/m 20) dan kom er een fout melding in de regel :

- For Each r In rNummers.SpecialCells(xlCellTypeBlanks)

Wanneer ik alleen de 20e label ga printen (puur voor testen,
komt denk ik in de praktijk nooit voor, maar goed er is een fout)
dan wordt deze 20e label wel geprint maar dan sprint de Button weer
omhoog.... heeft het één met het ander te maken ?

Rob
 
Dat komt omdat je moet testen of er wel lege cellen zijn in het bereik.

De code gaat de lege cellen af in dat bereik met de nummers, en verbergt de overeenkomstige rijen in kolommen A tot E.

Als alle getallen ingevuld zijn, zijn er geen lege cellen, en moet de code dus enkel printen. Geen rijen verbergen. Je moet dus tellen hoeveel lege cellen er zijn:

0: alles printen
20: niets printen
getal tussenin: huidige code is goed

Wigi
 
opgelost

Hallo WiGi,

Heb een tweetal aanpassingen gemaakt...

resize(20) = resize(21)
en in J27 is het getal 21 toegevoegd.

Nu print hij wel de 20 etiketten zonder foutmelding.

Dankje voor de hulp !

Heb nog wel een ander probleem met de uitprint van etiketten maar
dat vraag ik in de volgende vraag...

Rob
 
Ik had de aangepaste code nog gemaakt, maar kon het niet posten wegens andere verplichtingen.

Code:
Private Sub TSP700_Print_Button_Click()

    Dim r As Range
    Dim rNummers As Range
    Dim rLegeCellen As Range
    
    Const iAANTALRIJENPERETIKET As Integer = 8
    
    On Error Resume Next
    Set rNummers = Range("I7").Resize(20)
    Set rLegeCellen = rNummers.SpecialCells(xlCellTypeBlanks)
    On Error GoTo 0
    
    If Not rLegeCellen Is Nothing Then
        
        If rLegeCellen.Count = rNummers.Count Then
            
            MsgBox "Er valt niets te printen."
            Exit Sub
        
        End With
        
        Application.ScreenUpdating = False
        
        For Each r In rNummers.SpecialCells(xlCellTypeBlanks)
        
            Range("A1").Offset(iAANTALRIJENPERETIKET * (r.Offset(, 1) - 1)).Resize(iAANTALRIJENPERETIKET).EntireRow.Hidden = True

        Next

        Application.ScreenUpdating = True

    End If
    
    Application.ActivePrinter = "STAR TSP-700 (via HP500x prt2) op Ne11:"
    
    With ActiveSheet

        .PageSetup.PrintArea = "$A$1:$E$160"
        .PrintOut Copies:=1, Collate:=True
        
    End With
    
    Range("A1:A160").EntireRow.Hidden = False
    
End Sub

Wigi
 
Print vraagje - deel 2

Om een betere layout op de etiket te kunnen maken zijn de kolommen
en regels verdubbeld en de hoogte en breedte ervan gehalveerd.

Heb de laatste Macro van WiGi (zie vraag "print vraagje") ingezet
maar kom met een error in de END WITH regel...
De Macro is op sommige punten aangepast ivm grotere range
etc... zijn de aanpassingen correct ?

Daarnaast kan ik het werkblad niet meer naar de eerste rij A1 krijgen...
Wat is daar fout gegaan en hoe dat op te lossen ???

Zie voorbeeld bestand

Alvast bedankt voor 't kijken
 

Bijlagen

nieuw voorbeeeld bestand

Hierbij een nieuw voorbeeld bestand.

Druk je op de print button dan komt er een foutmelding en als je
deze beeindigd dat kun je ineens niet meer naar het bovenste
gedeelte komen... nl. Rij 1 t/m Rij 17... om een één of andere
redenen zorgt die code in de Macro ervoor dat het gebeurt.

Wie kan aub. helpen ? :confused:
 

Bijlagen

Tja Rob, als je zelf dingen gaat veranderen die ik (wij) niet wist(en) op voorhand, dan kan je best tegen onvoorziene problemen aanlopen. :confused:

Ik zal proberen ernaar te kijken. Kan niets beloven.

Wigi
 
Laatst bewerkt:
oplossing gezocht !

Heren Excellers,

Mijn vraag betreffende het printen naar een STAR TSP-700 is nog niet opgelost.

De Macro code in het laatste geleverde voorbeeld bestand werk niet.
Mede doordat in de layout van het etiket extra rijen en kolommen
zijn geplaatst. :o

Kan iemand aub. eens kijken naar een oplossing... :rolleyes:

Door dit euvel kan ik op dit moment niet verder met de excel applicatie. :(

zie ook : http://office.webforums.nl/forum/viewtopic.php?t=27776
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan