• 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.

Meerdere pagina's afdrukken zonder scherm "Afdrukken" in beeld

Status
Niet open voor verdere reacties.

Haije

Terugkerende gebruiker
Lid geworden
24 mrt 2009
Berichten
4.418
Besturingssysteem
Windows 11
Office versie
Office 2016 Professional Plus en Office 2010 Home & Student
Goedemiddag,

ik wil een aantal afdrukken maken, zonder dat ik de statusmelding "Afdrukken" steeds zie verschijnen.
Kan dat? En zo ja hoe?

In de bijlage een afdruk van het scherm dat ik bedoel
 

Bijlagen

Laatst bewerkt:
wellicht te onderdrukken met
Code:
Application.displayalerts=false.
 
Nee, displayalerts gaat het niet oplossen.

Mogelijk hier een oplossing, al ben ik zelf altijd huiverig om in de registry te gaan wijzigen.

https://www.mrexcel.com/forum/excel-questions/39515-disable-print-page-pop-up-message-topic-closed.html


Code:
1.Run Regedt32.exe
 2. From the Hkey_local_machine subtree go to the following key
 3. System-CurrentControlSet-Control-Print-Providers
 4.From the edit menu click on Add Value
 5.In the value name field type the following this is case sensitive!: NetPopup
 6.Select REG_DWORD for the data type
 7. Click on OK
 8. In the dword editor box type 0 (zero) in the data field
 9. Click OK
 Now print Popup notifications will be disabled to re-enable change this value back to 1.
 
bedankt voor jullie reactie tot nu toe:

@snb, dat had ik ook geprobeerd, maar heeft geen resultaat.

@SjonR, via het register ga ik dit zeker niet aanpassen, nog afgezien van het feit dat ik daar de rechten niet eens voor heb.

Wie weet is er nog iemand die een alternatief heeft/bedenkt/kent...
 
Zo'n ingreep is het niet, onschuldig is het ook:

Code:
Sub M_snb()
    msgbox CreateObject("wscript.shell").regread("HKLM\System\CurrentControlSet\Control\Print\Providers\NetPopUp")
    CreateObject("wscript.shell").regwrite "HKLM\System\CurrentControlSet\Control\Print\Providers\NetPopUp", 0
End Sub
 
@snb,

hoe onschuldig ook, op het bedrijfsnetwerk heb ik onvoldoende rechten om dit toe te passen.
 
Haije, uit interesse... Wát is er zo hinderlijk aan de melding dat je iets naar een printer hebt gestuurd? Lijkt mij spannend als je printopdracht geeft en dat je maar moet gokken of dat gelukt is.
 
Ginger,

het gaat om een overzicht op naam van toegekende vakanties (één A4 per persoon).
Dat kan gaan om 10 personen, maar ook om 180 of meer. In dat laatste geval wordt het als hinderlijk ervaren.
 
Ik hoop dat die 180 A4's 1 printopdracht is.
Met een beetje printer/server buffer is dat toch een melding van <1 seconde ?
Anders moet er 'aan de voorkant' iets worden verbeterd.
 
@snb,

dat is net het "probleem", het zijn 180 printopdrachten, aangemaakt door:
Code:
Sub maak_brief()
'instellen "standaard"printer
    Application.ActivePrinter = "\\EQT-PS04\Kleur_A4 op Ne04:"
    [jaartal] = InputBox("Voor welk jaar zijn deze vakanties?")
Sheets("Brief").Select
For brf = 1 To [invulrgls] Step 1
If IsDate(Sheets("vakantielijst").Range("A3").Offset(brf, 3))  Then
    [naam] = Sheets("vakantielijst").Range("A3").Offset(brf, 1)
    [persnr] = Sheets("vakantielijst").Range("A3").Offset(brf)
    [vak1van] = Sheets("vakantielijst").Range("A3").Offset(brf, 3)
    [vak1tem] = Sheets("vakantielijst").Range("A3").Offset(brf, 4)
    [vak2van] = Sheets("vakantielijst").Range("A3").Offset(brf, 6)
    [vak2tem] = Sheets("vakantielijst").Range("A3").Offset(brf, 7)
    [vak3van] = Sheets("vakantielijst").Range("A3").Offset(brf, 9)
    [vak3tem] = Sheets("vakantielijst").Range("A3").Offset(brf, 10)
    [vak4van] = Sheets("vakantielijst").Range("A3").Offset(brf, 12)
    [vak4tem] = Sheets("vakantielijst").Range("A3").Offset(brf, 13)
'afdrukken 
    ActiveSheet.PrintOut
'velden leegmaken
    Range("D18,D20,D22,D24,F24,F22,F20,F18,J1,J2,J3").ClearContents
End If
Next brf
End Sub

Als er een manier is om alle "brieven" in één printopdracht te stoppen zou dat geweldig zijn.
 
Laatst bewerkt:
Ik was er al bang voor ;); je probeert Word's mailmerge opnieuw uit te vinden.
Ook is de efficiëntie van de code van belang.

Je zult een keuze moeten maken: printen in Word of in Excel.

De personeelsgegevens lees je natuurlijk in in een array:

Code:
sn=Sheets("vakantielijst").cells(1).currentregion
Die lees je uit en test je in een loop

Code:
for j=3 to ubound(sn)
   if sn(j,1)=2018 then 

   end if 
next
In Word kun de gegevens eenvoudig met documentvariabelen in vooraf bepaalde plaatsen in het document zetten.
In Word zet je na iedere pagine een HardepaginaBreak

Tenslotte druk je het Wordocument met 180 pagina's in 1 keer:

Code:
activedocument.printout false

Dan ben ik beneiuwd hoe lang jij dat printerscherm nog te zien krijgt.

Plaats een voorbeeld hoe de brief eruit moet zien en waar welke gegevens geplaatst moeten worden.
 
Laatst bewerkt:
@snb,

bedankt voor je reactie.

Dan kan ik dus ook binnen het excelbestand de brieven verzamelen en met één printopdracht afdrukken.

Bedankt voor dit inzicht, dat ga ik proberen in mijn macro op te nemen.
 
Ja, ook in Excel kun je pagebreaks maken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan