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

afdruk

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
865
Ik maak gebruik van een bestand met 5 tabbladen.

tabblad data : gegevens over personen, printers, servers, ...
tabblad info : gegevens over klant, taalkeuze, ...
tabblad A : dokument met gegevens dat intern blijft
tabblad B (Nl) : nederlandstalig dokument dat chauffeur mee krijgt
tabblad B (Fr) : franstalig ...
tabblad B (D) : duitstalig ...

Document A en 1 document B (afhankelijk van de taalkeuze) moeten altijd afgedrukt worden, de anderen niet.

De documenten worden ingevuld in de productieruimte maar moeten afgedrukt worden op de weegbrug.

Selecteren van document A en en document B ( geselecteerde taal) en afdrukken op de standaardprinter lukt met onderstaande code, maar hoe bouw ik nu de code in om de twee geselecteerde tabbladen af te drukken op de netwerkprinter ( \\svrmid008\PRTMID012 op Ne09: ) ? En hoe kan ik na afdrukken de lokale standaardprinter opnieuw selecteren ?

Code:
Private Sub Afdruk_Click()

      Dim taal As String
      taal = Sheets("info").Range("U7")
      Sheets("A").PrintOut
      Sheets(taal).PrintOut
End sub
 

Bijlagen

  • post loading v2.31.zip
    31,2 KB · Weergaven: 36
Laatst bewerkt:
Code:
Private Sub Afdruk_Click()
      Dim taal As String
      SelecteerPrinter = Application.Dialogs(xlDialogPrinterSetup).Show
      Taal = Sheets("info").Range("U7")
      Sheets("A").PrintOut Copies:=1, ActivePrinter:=SelecteerPrinter, Collate:=True
      Sheets(taal).PrintOut Copies:=1, ActivePrinter:=SelecteerPrinter, Collate:=True
 End sub

Ik hoop dat dit werkt.

Suc6, Cobbe
 
Ongetest (kan zijn dat het pad ervoor moet (\\svrmid008\))
Code:
Private Sub Afdruk_Click()
 
      Dim taal As String
      taal = Sheets("info").Range("U7")
      Sheets("A").PrintOut ActivePrinter:="PRTMID012 op Ne09:"
      Sheets(taal).PrintOut ActivePrinter:="PRTMID012 op Ne09:"
End sub

Mvg

Rudi
 
Beide oplossingen werken, alleen komt de printer niet terug te staan op de standaardprinter. Zou hiervoor een code bestaan ?

dbv,

Stefaan

Warm Bakkertje : Ik maak gebruik van cel "U9" op tabblad "info" om die printer aan te sturen. Bedoeling hiervan is om makkelijk die printer te kunnen aanpassen zonder dat men in de vba-code moet gaan aanpassen ( ze zal tevens ook beveiligd zijn ).
 
Laatst bewerkt:
Code:
Private Sub Afdruk_Click()
 Dim taal As String
      taal = Sheets("info").Range("U7")
      Sheets("A").PrintOut ActivePrinter:="[U9].Value"
      Sheets(taal).PrintOut ActivePrinter:="[U9].Value"
      Application.ActivePrinter = "Vul hier de naam van je standaardprinter in"
End Sub

Mvg

Rudi
 
Stefano,

Volgende regel tussenvoegen tussen 2 en 3:
DefPrinter = Application.Activeprinter
Haal je default printer gegevens op

Regel 6 wordt dan 7 en ziet er dan zo uit:
Application.Activeprinter = DefPrinter
Zet je default printer gegevens terug.

Grtz.

Warme bakkertje, een kleine aanvulling.
 
Laatst bewerkt:
Code:
Private Sub CommandButton37_Click()
      Dim defprinter As String
      Dim taal As String
      defprinter = Application.ActivePrinter
      taal = Sheets("info").Range("U7")
      Sheets("A").PrintOut ActivePrinter:="[U9].Value"
      Sheets(taal).PrintOut ActivePrinter:="[U9].Value"
      Application.ActivePrinter = defprinter
End Sub

Ik heb ook nog toegevoegd : Dim defprinter As String
zonder kreeg ik : compileerfout : een variabele is niet gedefiniëerd.

Maar met de code zoals bovenaan het bericht verschijnt : Fout 1004 tijdens uitvoering : Methode Printout van klasse Worksheet is mislukt

Ik weet niet wat er nu fout is. Graag hulp aub
 
Code:
Private Sub CommandButton37_Click()
      Dim defprinter As String
      Dim taal As String
      defprinter = Application.ActivePrinter
      taal = [info!U7]
      Sheets("A").PrintOut ActivePrinter:="[info!U9]"
      Sheets(taal).PrintOut ActivePrinter:="[info!U9]"
      Application.ActivePrinter = defprinter
End Sub

Mvg

Rudi
 
Laatst bewerkt:
ik zou zeggen dat je fout zit in de regels 6 en 7. Je maakt gebruik van het object 'Range' die je vervolgens plaatst als een string???? Haal je dubbele quotes om het geheel weg, en het zou moeten werken.

Groet, Leo
 
Private Sub CommandButton37_Click()
With Application
.caption=ActivePrinter
.activeprinter=[info!U9].Value
thisworkbook.sheets(array("A",[info!U7].value)).printout
.ActivePrinter = .caption
.caption=""
End With
End Sub
 
@snb krijg fout 1004 op jouw macro
Waarschijnlijk in de Application.Caption

Zo krijg ik hem wel aan de praat

Code:
Private Sub CommandButton37_Click()
    Dim defprinter As String
    defprinter = Application.ActivePrinter
    ThisWorkbook.Sheets(Array("A", [info!U7].Value)).PrintOut ActivePrinter:="[info!U9]"
    Application.ActivePrinter = defprinter
End Sub

Edit Toch niet Zoek verder voor selectie printer vanuit celwaarde

Mvg

Rudi
 
Laatst bewerkt:
Stefano, een printer selecteren rechtstreeks vanuit een cel lukt blijkbaar niet.
Via een klein omweggetje denk ik dat volgende wel moet lukken. Zie module1
Maak in Data!G3 een validatielijst met alle beschikbare printers. Selecteer hier de gewenste printer en start dan de macro
Let er wel op dat de namen exact overeenkomen met de printers in je configuratiescherm

Mvg

Rudi
 

Bijlagen

  • post loading v2.31.xls
    62 KB · Weergaven: 48
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan