Avatar billede tommypedersen Nybegynder
13. januar 2010 - 12:32 Der er 9 kommentarer og
1 løsning

Excel 2007 - gem valgt printer

I tidligere versioner af Word og Excel, kunne man vælge printeren under dokumentegenskaber. Har man f.eks. et bestemt regneark, der skal udskrives til en bestemt labelprinter, er det jo meget nemmere hvis det gemmes i selve filen.
I Excel 2007 kan jeg godt sætte papirstørrelse mm. i selve regnearket, men den vælger altid Standardprinter, og brugeren skal så vælge den rigtige printer i forb. med udskrift.

Skal man virkelig ind og kode en makro for at få det til at virke?

//Tommy
Avatar billede kdasummer Nybegynder
13. januar 2010 - 12:50 #1
Ja desværre. Det er ikke længere muligt at vælge en printer for ét bestemt dokument i Office 2007. Du kommer ikke uden om makroer her. Jeg har valgt den løsning på arbejdet, at der i visse dokumenter, som ikke udskrives på den almindelige printer, printes via ALT+P. Det fungerer rigtig godt.
Avatar billede tommypedersen Nybegynder
13. januar 2010 - 12:56 #2
Der er i forvejen en "Udskriv label" knab i det excel regneark jeg roder med, så jeg kan vel hægte lidt ekstra kode på der!

Har du lidt kode så jeg kan se hvordan man skifter printer?
Avatar billede kdasummer Nybegynder
13. januar 2010 - 13:06 #3
tyvstjålet:
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
Avatar billede tommypedersen Nybegynder
13. januar 2010 - 14:19 #4
Jeg har indsat følgende:

Sub preview()
Application.ActivePrinter = "Brevpapir på serv1"
ThisWorkbook.Sheets("Label").PrintPreview
End Sub

Men når jeg trykker på "preview knappen, så melder den fejl i linien: Application.ActivePrinter = "Brevpapir på serv1"

Når jeg tjekker metoden "ActivePrinter", så ser det ud til at den kun kan bruges til at hente den aktive printer, ikke at sætte den aktive printer!

Men jeg kan heller ikke finde andre metoder til at sætte printeren!
Avatar billede kdasummer Nybegynder
13. januar 2010 - 14:25 #5
hvis jeg må kan jeg lave fjernkontrol via teamviewer.. hent teamviewer på http://teamviewer.com og send mig id og password på min mail [modereret] så finder vi hurtigt en løsning. det er nemlig bare et spørgsmål om at prøve sig frem med det printernavn... det har jeg også haft en del besvær med. om ikke andet ka du jo starte med at prøve dig frem og derefter kan vi forsøge med teamviewer.

Dette indlæg er blevet modereret af en CoAdmin

Avatar billede tommypedersen Nybegynder
13. januar 2010 - 15:09 #6
Kan jeg ikke sende dig regnearket, så du kan kigge direkte på koden?
Avatar billede kdasummer Nybegynder
13. januar 2010 - 15:29 #7
nej for jeg skal bruge adgang til dine printerindstillinger
Avatar billede tommypedersen Nybegynder
13. januar 2010 - 15:50 #8
OK, men regnearket er fra en kunde, så jeg ved ikke hvor meget det hjælper. det er ikke her hos os det skal virke men hos kunden!

Jeg lavede for nogle år siden et script, der listede brugerens printere:

Set WshNetwork = WScript.CreateObject("WScript.Network")
Set PrintList = WSHNetwork.EnumPrinterConnections
PrinterCtr =  PrintList.Count / 2
For i = 0 to PrintList.Count-1 step 2
  WScript.Echo "Port: " &PrintList(i) & "    Printer: " & PrintList(i+1)
Next 

Men jeg har prøvet med forskellige printere og det dur ikke:-(

Er du sikker på at du benytter Application.ActivePrinter = "xx" i dine egne regneark?
Avatar billede kdasummer Nybegynder
13. januar 2010 - 16:02 #9
der er også en anden metode.. men jeg er også 100 på at activeprinter virker. jeg kan desværre ikke huske koden til den anden metode - den er ikke så velkendt. jeg kan se på når jeg kommer på arbejde i morgen.

ellers så prøv at skifte printer i arket til den du vil printe fra. herefter går du ind i vba-editoren og indsætter følgende:

sub test()
debug.print activesheet.activeprinter
end sub

så skriver den i intermediate-vinduet hvad navnet på den aktive printer er, og så kopierer du bare det og sætter ind. burde virke.
Avatar billede tommypedersen Nybegynder
13. januar 2010 - 16:21 #10
Kommandoen er debug.print application.activeprinter

Og du har ret, det rigtige navn i, så virker det:-)))))

Mange tak for hjælpen!!!
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

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