Avatar billede janvogt Praktikant
29. april 2008 - 12:09 Der er 10 kommentarer og
1 løsning

Script til ændring af printer

Kan man lave et ikon på skrivebordet, som ændrer standardprinteren til en bestemt printer?
Avatar billede Slettet bruger
29. april 2008 - 16:58 #1
Gem teksten mellem de stiblede linier som: StandardPrinter.vbs
Erstat Din_Printer med navnet på den printer der skal være standard.
lav en genvej til filen: StandardPrinter.vbs

'--------------------------------------------------------------
Dim oNetwork
Set oNetwork = CreateObject("WScript.Network")
oNetwork.SetDefaultPrinter "Din_Printer"
Set oNetwork = Nothing
'--------------------------------------------------------------

:-)
Avatar billede janvogt Praktikant
30. april 2008 - 11:21 #2
Tak for svaret. Hvor kan jeg gemme koden?

Jeg kunne egentlig også godt bruge en "toggle" sådan at:

hvis defaultprinter="printer a" - så defaultprinter="printer b"
ellers
hvis defaultprinter="printer b" - så defaultprinter="printer a"

Hvordan vil koden så se ud?
Avatar billede w13 Novice
30. april 2008 - 11:23 #3
janvogt>> Du laver bare koden i f.eks. notesblok og gemmer den et eller andet sted under navnet StandardPrinter.vbs - når du kører den fil, vil handlingen blive udført.
Avatar billede janvogt Praktikant
30. april 2008 - 11:25 #4
Fint, jeg håbede også det fungerede sådan.
Avatar billede janvogt Praktikant
02. maj 2008 - 08:25 #5
Tpo, din løsning fungerer rigtigt fint, men kan du hjælpe med resten?
Så forhøjer jeg gerne pointene til 200.

Der må også gerne komme en messageboks frem, når printeren skiftet - altså:
"Standardprinteren er skiftet til 'printernavn'"
Avatar billede w13 Novice
02. maj 2008 - 09:44 #6
Det burde bare være:
Wscript.Echo "Tekst her"
Avatar billede Slettet bruger
02. maj 2008 - 11:40 #7
Ret:
Printer1 = "HP LaserJet 5MP"
Printer2 = "Brother QL-550"
til dine printere.

'--------------------------------------------------------------------------------
Printer1 = "HP LaserJet 5MP"
Printer2 = "Brother QL-550"

Function GetDefaultPrinter
  Set oShell = CreateObject("WScript.Shell")
  sRegVal = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device"
  sDefault = ""
  On Error Resume Next
  sDefault = oShell.RegRead(sRegVal)
  sDefault = Left(sDefault ,InStr(sDefault, ",") - 1)
  On Error Goto 0
  GetDefaultPrinter = sDefault
  Set oShell = Nothing
End Function

DefaultPrinter = GetDefaultPrinter
If DefaultPrinter = Printer1 Then
  Printer = Printer2
Else
  Printer = Printer1
End If

Set oNetwork = CreateObject("WScript.Network")
oNetwork.SetDefaultPrinter Printer
Set oNetwork = Nothing

Wscript.Echo "Standard printer = " & Printer
'--------------------------------------------------------------------------------

:-)
Avatar billede janvogt Praktikant
02. maj 2008 - 12:15 #8
Jeg har lidt problemer med den ene printer, som er en netværksprinter.
Navnet er umiddelbart ikke nok - ihvertfald får jeg en fejl.
Avatar billede janvogt Praktikant
02. maj 2008 - 12:23 #9
Måske dette kan hjælpe.
Når jeg kører VBA har jeg fat i denne:
Application.ActivePrinter = "\\FLSTEDNT\AS - Kopirum Kopimaskine på Ne04:"
Avatar billede Slettet bruger
02. maj 2008 - 13:24 #10
Hvis det er en netwærksprinter, så skal navnet være:
Printer1 = "\\ServerNavn\ShareNavn"

:-)
Avatar billede janvogt Praktikant
02. maj 2008 - 14:19 #11
Fantastisk!
Tusind 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