Office XP Print macro

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • demasterbaas
  • Registratie: Maart 2006
  • Laatst online: 30-08 10:59
Ik ben een Macro aan het maken die de huidige printer veranderd naar een andere printer, print, en hem dan weer terug zet. Dit ivm andere driver settings.

Nu heb ik een stukje VB van MS aangepast (http://support.microsoft.com/kb/122709) in dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub PrintEmail()
'
' PrintEmail Macro
' Macro gemaakt op 17-02-2010 door 
'
   'Retrieve and set information about the current default printer
   Dim FPS As FilePrintSetup
   GetCurValues FPS
   'Set the default Printer
   DefaultPrinter$ = FPS.Printer
   FilePrintSetup .Printer = DefaultPrinter$ & "MAIL"
   'Send the document to the currently selected printer
   FilePrint
   'Reset to the original default printer
   FilePrintSetup .Printer = DefaultPrinter$

End Sub


De printer wordt dus veranderd van HP1 naar HP1MAIL en dan weer terug.

Helaas doet de macro het niet! En wel om: Dim FPS As FilePrintSetup foutcode: Een door de gebruiker gedefinieerd gegevenstype is niet gedefinieerd

Wie o wie kan mij helpen?

Acties:
  • 0 Henk 'm!

Verwijderd

kijk eens op jouw link voor welke oubollige programma's deze code van toepassing is?
als het over word gaat, neem gewoon een macro op, en pas deze aan indien nodig.
wordbasic<>vba.

Acties:
  • 0 Henk 'm!

  • Moirraine
  • Registratie: Mei 2008
  • Laatst online: 13-02-2024
Ik weet niet waar je dit in doet, (word, excel, access?), maar kun je niet gewoon iets doen in de richting van
Visual Basic:
1
set application.printer = "Dat rotding op de gang"


Standaard printer weer aanzetten
Visual Basic:
1
set application.printer = nothing


Dit werkt in Access in ieder geval wel

Acties:
  • 0 Henk 'm!

  • demasterbaas
  • Registratie: Maart 2006
  • Laatst online: 30-08 10:59
Verwijderd schreef op woensdag 17 februari 2010 @ 12:09:
kijk eens op jouw link voor welke oubollige programma's deze code van toepassing is?
als het over word gaat, neem gewoon een macro op, en pas deze aan indien nodig.
wordbasic<>vba.
He he, ga zo nog ff een bakkie koffie halen en een paar wortels eten. Wellicht zie ik het dan weer scherp...
Moirraine schreef op woensdag 17 februari 2010 @ 12:12:
Ik weet niet waar je dit in doet, (word, excel, access?), maar kun je niet gewoon iets doen in de richting van
Visual Basic:
1
set application.printer = "Dat rotding op de gang"


Standaard printer weer aanzetten
Visual Basic:
1
set application.printer = nothing


Dit werkt in Access in ieder geval wel
Goed plan, alleen moet ik de default printer combineren met "MAIL", we hebben meerdere rotdingen en gangen. Ik moet dus eerst zien aan te vragen wat de huidige printernaam is (HP1 bijvoorbeeld), er MAIL achter plakken (HP1MAIL), print commando, daarna zou "set application.printer = nothing" prima zijn! Enig idee?

Acties:
  • 0 Henk 'm!

  • Moirraine
  • Registratie: Mei 2008
  • Laatst online: 13-02-2024
uit de ms access help:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
Dim prtDefault As Printer

Set Application.Printer = Application.Printers(0)

Set prtDefault = Application.Printer

With prtDefault
    MsgBox "Device name: " & .DeviceName & vbCr _
        & "Driver name: " & .DriverName & vbCr _
        & "Port: " & .Port
End With


Bij "Application.Printers(0)" kun je dus ook
Visual Basic:
1
Application.Printers("Mail1")
of iets dergelijks neerzetten. Met die methode kun je de eigenschappen opvragen van de printer.

Als je dus
Visual Basic:
1
set application.printer = "Mail1" 
doet, zeg je tegen het proggle dat dat zijn printer is die die mag gebruiken. Zeg je daarna
Visual Basic:
1
 set application.printer = nothing
, dan pakt ie de printer weer op die als standaard ingesteld staat in windows.

Acties:
  • 0 Henk 'm!

  • demasterbaas
  • Registratie: Maart 2006
  • Laatst online: 30-08 10:59
Oke, ben wat aan het proberen. Maar meteen deze fout:

Dim prtDefault As printer
"Een door de gebruiker gedefinieerd gegevenstype is niet gedefinieerd"

Ik neem aan dat het gegevenstype "printer" is. Wellicht een verwijzing instellen, maar welke?

Acties:
  • 0 Henk 'm!

Verwijderd

je bent niet in access aan het werk, maar in een andere toepassing waar dit object niet beschikbaar is.

Acties:
  • 0 Henk 'm!

  • Moirraine
  • Registratie: Mei 2008
  • Laatst online: 13-02-2024
Edit: Access verwijzing waarschijnlijk

[ Voor 87% gewijzigd door Moirraine op 17-02-2010 13:23 ]

Pagina: 1