printen op een niet-default netwerkprinter

Status
Niet open voor verdere reacties.

willie76

Gebruiker
Lid geworden
6 nov 2010
Berichten
124
forumleden,

Ik heb in VBA een onderstaand stuk geprogrammeerd

Code:
Sub printen()
Application.ScreenUpdating = False
Sheets("Formulier").Visible = xlSheetVisible
Sheets("Formulier").PrintOut
Sheets("Formulier").Visible = xlSheetVeryHidden
End Sub

Nu wil ik ook nog dat het "Formulier" op een niet-default printer wordt afgedrukt.

Tijdelijk de default-printer veranderen zou wel mogen, maar als ie dan ook maar weer terug veranderd in de huidige default.
Liever natuurlijk helemaal geen verandering, maar als t niet anders kan......

Wie o wie heeft een oplossing ???

Alvast bedankt,
 
Laatst bewerkt door een moderator:
Thx Pasan,

Maar t werkt niet, ik heb de regel Application.ActivePrinter = "brood on ketel1 op NE2:" ingevoerd in VBA, maar kirjg nu de melding terug:

Runtime error '1004'
Method 'Activeprinter' of object '_Application' failed

Enig idee ????
 
Neem een macro op waarmee je de standaardprinter wijzigt, daarna afdrukt en vervolgens de standaardprinter herstelt. Dan weet je welke waarden je moet opnemen in de code.
 
Thx voor t antwoord, maar dat gaat dus niet........

Als ik dat nl doe is het enige wat in de macro komt te staan:

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False

een ander idee ???
 
Code:
Sub snb()
    With CreateObject("Wscript.network").EnumPrinterConnections
        For j = 0 To .Count - 1 Step 2
            c01 = c01 & vbCr & .Item(j + 1) & " on " & .Item(j)
        Next
        MsgBox c01
            
'       CreateObject("Wscript.network").SetDefaultPrinter (.Item(j + 1))
    End With
End Sub
 
thx snb voor je snelle reactie,

Wat doet dit VBA-stukje precies ???

Ik probeer tegelijk ook een beetje meer VBA te gaan begrijpen, vandaar de vraag ....

Moet ik dit als aparte module runnen, of moet ik dit integreren in mn bestaande code ???

Bedankt voor je hulp
 
Vraagstuk is nog steeds niet opgelost........

Vragen die nog open staan: Waar zet ik de code van Application.Activeprinter neer ???
In een module of in een blad of in "Thisworbook" ???

Hoe kom je achter het NExx nummer ???
Vind je die ergens (windows 7) of is er een apart programaatje voor o.i.d. ???

Kortom wie helpt me uit de brand ??!!!
 
Heb je al iets met de aangereikte oplossing gedaan. ?
Heb je al een VBA boek aangeschaft en bestudeerd ?
 
Hallo allemaal,

Na veel zoeken op het net, uiteindelijk de oplossing gevonden:

Code:
Sub Printer()
    Dim MyPrinter As String
    '-----------------------------------------------------------------
    '- get active printer
    MyPrinter = Application.ActivePrinter
    '-----------------------------------------------------------------
    '- set another printer & print
    Application.ActivePrinter = "brood on Ne00:"
    Application.ScreenUpdating = False
    Worksheets("Formulier").Visible = xlSheetVisible
    Worksheets("Formulier").PrintOut , PrintPreview = False
    Worksheets("Formulier").Visible = xlSheetHidden
    '-----------------------------------------------------------------
    '- reset printer
    Application.ActivePrinter = MyPrinter
End Sub

.....en het werkt ook nog !!!!

Een ieder dank voor t meedenken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan