Avatar billede dboleno Nybegynder
15. august 2001 - 18:43 Der er 11 kommentarer og
1 løsning

Udskrift af Excel-userform på forskellige printere.

I en excel applikation bliver en userform udskrevet med me.printform. Nu er der op stået et ønske om at få den skrevet ud også på en anden printer. Imidlertid bruger denne kommando altid windows standard printer og er ligeglad med en ændring af activeprinter. Er der en mulighed?
Avatar billede mikker Nybegynder
15. august 2001 - 19:20 #1
Dim X  as Printer
For Each X in Printers
If X.Orientation = vbPRORPortrait then
  \'Set Printer as system default
  Set Printer = X
  \'Stop looking for a printer
  Exit for
End If
Next


MKan KAN altså skelne mellem forskellige printere, men hvordan man lige finder ud af hvilken printer der er hvad, det må du sgu nok spørge om.
Det kræver ihvertfald lidt arbejde :-)

- Mikker
Avatar billede mikker Nybegynder
15. august 2001 - 19:20 #2
P.S.
Hvordan det så ligger med Excel..
SE DET aner jeg jo ikke en kæft om  :-)

- Mikker
Avatar billede mikker Nybegynder
15. august 2001 - 19:23 #3
ØHH Nu er det jo ikke fordi jeg ikke har andet at lave, men hvad med om du prøved noget i stil med:

(Hvis der er 2 printere, jeg ved faktisk ikke om default printeren er 0, men hvis den er 1 så prøv følgende)

printer(2).printform

Ikke prøvet - JEG har altså kun 1 printer :-)
Avatar billede dboleno Nybegynder
15. august 2001 - 20:45 #4
JEG HAR PRØVET BEGGE FORSLAG, MEN DE VAR IKKE GYLDIGE I EXCEL VBA
Avatar billede mikker Nybegynder
16. august 2001 - 06:15 #5
Nå ja du behøver jo ikke råbe ad mig, jeg vil jo bare hjælpe.
Men selv tak!

- MIkker
Avatar billede dboleno Nybegynder
16. august 2001 - 09:29 #6
Undskyld, det var ikke sådan ment, jeg er lykkelig  for at noge forsøger at hjælpe
Avatar billede janvogt Praktikant
16. august 2001 - 12:44 #7
Du skulle kunne bruge følgende kode i VBA-Excel:

Sub PrintToAnotherPrinter()
Dim STDprinter As String
    STDprinter = Application.ActivePrinter
    Application.ActivePrinter = \"microsoft fax on fax:\" \' change printer
    ActiveSheet.PrintOut \' prints the active sheet
    Application.ActivePrinter = STDprinter \' change back to standard printer
End Sub

Hvis koden kan bruges ville jeg gerne have pointene \"udbetalt\" under \"Regneark\", hvor spørgsmålet vel egentlig også hører hjemme ....
Avatar billede dboleno Nybegynder
16. august 2001 - 14:12 #8
det virker desværre ikke. Metoden printform er ligeglad med værdien af active printer, den kigger et andet sted, og bruger windows standardprinter.
Avatar billede janvogt Praktikant
16. august 2001 - 14:55 #9
Hmm, det har du vist ret i.
Og du kan vel ikke leve med at skulle skifte printer under Kontrolpanelet?
Avatar billede janvogt Praktikant
16. august 2001 - 15:18 #10
Følgende kalder dialogboksen Printeropsætning ....

Application.Dialogs(xlDialogPrinterSetup).Show

Kan du bruge den?
Avatar billede dboleno Nybegynder
16. august 2001 - 15:26 #11
Jeg troede lige... men nej, den er bedøvende ligeglad med hvilken printer jeg vælger. printet kommer på standardprinteren. Er der evt.. en anden måde at skrive en formular ud på?
Avatar billede dboleno Nybegynder
25. august 2001 - 02:56 #12
Jeg lukker den, der er nok ingen løsning
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester