VBA printen op andere printer dan standaard

Status
Niet open voor verdere reacties.

Hombre

Gebruiker
Lid geworden
25 mei 2006
Berichten
65
Hallo

In een module laat ik een aantal documenten afdrukken. Echter wordt hier steeds de standaard printer gebruikt maar ik wil een andere printer (kleuren) kiezen om de documenten af te printen. Ik heb volgende code die de opdracht geeft te printen. Kan iemand zeggen hoe dit aan te passen?

Code:
        Dim y As Byte

         y = Range("A1").Value  'A1 is aantal te printen leerlingen
        For x = 1 To y
           Range("A11").Select
           ActiveCell.FormulaR1C1 = x
           ActiveWindow.SelectedSheets.printout From:=1, To:=3, Copies:=1, Collate:=True
        Next

Hartelijk dank
 
Als je googelt op

excel vba print

is het 2de (!) resultaat al hetgeen jij wil doen.

Wigi
 
Bedankt Wigi

Ik heb nu dit toegepast maar krijg een foutmelding.

Code:
Sub PrintToAnotherPrinter()
Dim STDprinter As String
    STDprinter = Application.ActivePrinter
    Application.ActivePrinter = "HP LaserJet 1020"
    ActiveSheet.PrintOut
     Application.ActivePrinter = STDprinter
End Sub

Vermoedelijk heeft dit te maken met de naam van de printer. Waar vind ik de juiste naam of code van de betreffende printer?
Ook met "HP LaserJet 1020:"lukt het niet.

Dank u
Hombre
 
Dit lezend, vermoed ik dat het moet zijn:

Code:
Application.ActivePrinter = "HP LaserJet 1020 on Ne01:"

of een andere nummer ipv 01. Dit kan met een lus.

De on kan ook in het Nederlands moeten, ben niet zeker.

Wigi
 
Wigi

Bedankt maar achteraf gezien is dit toch niet helemaal wat ik zoek.
Het programma draait namelijk op verschillende computers en verschillende printers. Is dus een probleem om dit allemaal in te geven.
Wat heb ik gevonden na wat zoeken?
Code:
Dim strOld As String
Dim strNew As String

Const xlDialogPrinterSetup = 9

strOld = Application.ActivePrinter
Application.Dialogs(xlDialogPrinterSetup).Show

strNew = Application.ActivePrinter

'Print the Active Sheet
ActiveSheet.PrintOut

'Restore the old printer
Application.ActivePrinter = strOld

En dit is perfect wat ik zoek.
Bedankt voor de moeite

Hombre
 
Laatst bewerkt:
Ik heb zojuist geprobeerd om de code toe te passen:

Code:
Dim STDprinter As String
    STDprinter = Application.ActivePrinter
    Application.ActivePrinter = "CutePDF Writer op CPW2:"
    ActiveSheet.PrintOut Filename:="C:\Documents and Settings\Steven Desnyder\Bureaublad\Test PDF print\" & Range("I1")

maar hij wil mijn bestand niet automatisch afdrukken in deze map onder de opgegeven bestandsnaam. Waar ligt mijn fout dan?
Mijn afdrukbereik is namelijk ook al bepaald.
 
Bestaan die mappen?

Wat staat er in I1?

Kan je opslaan in een andere map (hardgecodeerd bvb.)?
 
Bestaan die mappen?

Wat staat er in I1?

Kan je opslaan in een andere map (hardgecodeerd bvb.)?

in I1 staat een dossiernummer, ik gebruik deze code om mijn bestand automatisch op te slaan in de juiste dossiermap en onder een bepaalde benaming als een .xls bestand maar ik moet het ook in pdf hebben.
Ik dacht dat ik de zelfde code ging kunnen gebruiken om automatisch de map te zoeken en af te drukken onder dezelfde bestandsnaam maar dan in PDF.
De map die hij dus zoekt, bestaat dus al, want ik maak die ervoor aan om ook andere gegevens in op te slaan.
 
Ik heb nu het volgende aangepast. Ik krijg nu al het kader om te printen en hij zit al in de juiste map, alleen moet ik wel nog steeds het bestandsnaam ingeven.
Code:
Sub TestPrintPDF()
Dim STDprinter As String
    STDprinter = Application.ActivePrinter
    Application.ActivePrinter = "CutePDF Writer op CPW2:"
    ActiveSheet.PrintOut Copies:=1, ActivePrinter:= _
        "CutePDF Writer op CPW2:", Collate:=True
    FilePath = "C:\Documents and Settings\Steven Desnyder\Bureaublad\Test PDF print\"
    FileName = Range("F1")
End Sub

Wat is er mis met mijn bestandsnaam?

To Wigi, ik heb juist gemerkt dat de I1 idd F1 moet worden. In I1 stond niets.
 
Laatst bewerkt:
Eigenlijk vindt hij mijn map ook niet automatisch. Hij zat onmiddelijk in de juiste map omdat mijn bestand daar ook in stond.

kan er mij aub iemand helpen om mijn pdf automatisch te laten afdrukken in de juiste map onder de gewenste bestandsnaam met CutePDF.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan