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

macro-vraag

Status
Niet open voor verdere reacties.

MayNiak666

Gebruiker
Lid geworden
6 jan 2003
Berichten
234
Ik heb een knop in een werkblad, waarmee ik een ander werkblad in dezelfde werkmap afdruk op een matrix-printer. Deze printer is echter niet mijn standaard-printer, maar als ik de werkmap afsluit en een andere werkmap open en wil afdrukken, gaat de output ook naar die matrix-printer. Ik wil dus eigenlijk op de een of andere manier in de macro van de "afdruk-knop" verwerken dat, na het afdrukken op de matrix-printer, de standaardprinter weer wordt ingesteld. Wie weet hoe dat moet/kan?
 
Kan je de 2 overige verwijderen?

Thnx en groetjes
 
Ik denk: als einde van de macro opnieuw "afdrukken ..." openen, je standaardprinter terug instellen en dan annuleren; macro stoppen.
Lijkt me het proberen waard.
 
Kan je de 2 overige verwijderen?
Nou, dat heb ik geprobeerd, maar ik krijg dan te zien dat ik onvoldoende rechten heb voor een dergelijke actie?!!? Nogmaals, het spijt me, ik verloor m'n geduld toen m'n browser meende dat ik alle tijd van de wereld had.

Ik denk: als einde van de macro opnieuw "afdrukken ..." openen, je standaardprinter terug instellen en dan annuleren; macro stoppen.
Ik denk niet dat dat werkt; als ik bij het afdrukken een printer selecteer, en vervolgens op annuleren druk, worden de instellingen niet opgeslagen...
 
We houden het maar bij deze vraag, overige 2 zijn verwijderd.
 
Bij mij werkt het toch. Voor alle zekerheid kan je de werkmap verlaten (na het opslaan) via 'bestand - afsluiten'. Dan worden de instellingen normaal wel bewaard.
Als het niet lukt, stel je vraag dan eens in de nieuwsgroep 'microsoft.public.nl.excel', daar zitten een paar specialisten.
Jo
 
Als ik jouw suggestie "vang" in een macro, krijg ik de volgende programma-regel in de VBA-editor:

Application.ActivePrinter = "Oki ML 320 Elite (IBM) op Ne00:"

Wanneer ik echter onderstaande code toepas in de betreffende print-macro, krijg ik een foutmelding van VBA.

Private Sub KnopPrint_Click()
Worksheets("CMR").PrintOut Preview:=False, ActivePrinter:="Oki ML 320 Elite (IBM)"
Application.ActivePrinter = "Brother MFC760"
End Sub

De foutmelding luidt:
Fout 1004 tijdens uitvoering:

Methode ActivePrinter van object _Application is mislukt

Ik gebruik Office 2000 Standard onder Windows 2000. Wie weet wat het probleem is?

Voor alle zekerheid kan je de werkmap verlaten (na het opslaan) via 'bestand - afsluiten'.
Maar dat wil ik liever niet...
 
Vergelijk eens met onderstaand antwoord uit de nieuwsgroep:

"Stel aan het eind van je macro de standaardprinter weer in.
In voorbeeld is de Xerox jouw matrix-printer en de HP Laserjet de standaard printer.

Sheets("Sheet1").Select
Range("PrintV05:PrintI00").Select
Application.ActivePrinter = "Xerox Document Centre 332 Dubbelzijdig on
Ne00:"
Selection.PrintOut Copies:=1
Application.ActivePrinter = "HP LaserJet 2200 Series PCL 6 on Ne03:"

Suc6
Theo"


Mij lijkt het dat je twee keer na elkaar een actieve printer hebt willen toewijzen. In bovenstaand voorbeeld zit er nog iets tussen (aantal afdrukken opgeven).
Misschien lukt het met alleen deze regel aan het eind van de macro toe te voegen:
Application.ActivePrinter = "Oki ML 320 Elite (IBM) op Ne00:"
 
Foutmelding

Ziehier de code die ik gebruik voor de uitvoering van de macro:

Private Sub KnopPrint_Click()
Worksheets("CMR").Select
Application.ActivePrinter = "Oki ML 320 Elite (IBM)"
Selection.PrintOut Preview:=False, Copies:=1
Application.ActivePrinter = "Brother MFC760"
End Sub

Deze code geeft de volgende foutmelding, al bij de eerste keer Application.ActivePrinter...:

Fout 1004 tijdens uitvoering:

Methode ActivePrinter van object _Application is mislukt

Wie kan mij vertellen wat er aan de hand is?
 
Ik krijg bij het wisselen van printer (en afdruk annuleren) het volgende:
let op de onderstreepte onderdelen: de code moet weten naar waar de uitvoer moet worden verzonden, en dat zie ik niet in jouw voorbeeld.

Sub printer()
'
' printer Macro
' De macro is opgenomen op 2004-03-01 door Jo.
'

'
Application.ActivePrinter = "Lexmark 1000/1100 Color Jetprinter op LPT1 :"
Application.ActivePrinter = "hp deskjet 960c op LPT1 :"
End Sub

Ik weet niet waarom je er bij jou niet bijstaat. Misschien heb je het dialoogvenster afdrukken te snel weer gesloten (het duurt even -enkele sec._ vooraleer de printerwisseling van kracht is).
 
Joepie!

En dat was de clou! Nu doet hij precies wat ik wil. Papajo, bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan