Print side | Luk vindue

Udskriv til 2 netværksprintere og reset default pr

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=719
Udskrevet den: 24.Maj.2024 kl. 17:19


Emne: Udskriv til 2 netværksprintere og reset default pr
Besked fra: NHKaspersen
Emne: Udskriv til 2 netværksprintere og reset default pr
Posteringsdato: 21.Mar.2012 kl. 20:10

Jeg har en liste med afdelinger i kolonne A

Et tilhørende nummer i kolonne B

Netværksstien til afdelingens printer i kolonne C

 

A                          10                        file://dkcp100/dka50" rel="nofollow -

B                          11                        file://dkcp100/dkb50" rel="nofollow -

Osv

X                                                       file://%5C%5Cdkcp200%5Cdkx50" rel="nofollow -

 

Ud fra en rulleliste vælger jeg en afdeling  -  A

Valget af A generer via Lopslag  et 10 tal i celle aa1

 

Hvordan laver jeg en macro som printer ud til den valgte afdeling og Afdeling X

Og derefter reset default printer.




Svar:
Besked fra: Kurt Kubik
Posteringsdato: 21.Mar.2012 kl. 20:18
Måske kan dette bruges: http://www.vbforums.com/showthread.php?t=485542


Besked fra: NHKaspersen
Posteringsdato: 21.Mar.2012 kl. 20:27
Det ser spændende ud - prøve det imorgen når jeg er på netværket
På forhånd tak Smile


Besked fra: NHKaspersen
Posteringsdato: 22.Mar.2012 kl. 15:21

Så har jeg fundet en løsning der fungerer  

 
SLPR = Range("aa1").Value

    If SLPR = "10" Then

    Application.ActivePrinter = "\\dkcp100\dka50 på Ne01:"

    ExecuteExcel4Macro _

        "PRINT(1,,,1,,,,,,,,2,""\\dkcp100\dka50 på Ne01:"",,TRUE,,FALSE)"

    End If

    If SLPR = "11" Then

    Application.ActivePrinter = "\\dkcp100\dkb50 på Ne30:"

    ExecuteExcel4Macro _

        "PRINT(1,,,1,,,,,,,,2,""\\ dkcp100\dkb50 på Ne30:"",,TRUE,,FALSE)"

    End If

    Application.ActivePrinter = "\\dkcp200\dkx50 på Ne22:"

    ExecuteExcel4Macro _

        "PRINT(1,,,1,,,,,,,,2,""\\ dkcp200\dkx50 på Ne22:"",,TRUE,,FALSE)"

    Range("A3").Select

End Sub

 

 Mangler lige default printer

 Evt. startende med

DefPrinter = ActivePrinter

 og slutte med

ActivePrinter = DefPrinter
End Sub



Besked fra: NHKaspersen
Posteringsdato: 27.Mar.2012 kl. 20:21
Ovenstående virkede desværre ikke, da Excel arket ligger på en server og forskellige computerer skal bruge det.
Ændre Ne nummeret sig.
Med denne løsning virker:
 

Dim Message, Title, Default, MyValue

DefPrinter = ActivePrinter

 

SLPR = Range("aa1").Value

 

If SLPR = "10" Then

On Error Resume Next

For Counter = 99 To 0 Step -1

Application.ActivePrinter = "\\\\dkcp100\dka50 på Ne" & Format(Counter, "00") & ":"

Next

ExecuteExcel4Macro _

"PRINT(1,,,1,,,,,,,,2,"" \\\\dkcp100\dka50 på Ne " & Format(Counter, "00") & ":"",,TRUE,,FALSE)"

End If

 If SLPR = "11" Then

On Error Resume Next

For Counter = 99 To 0 Step -1

Application.ActivePrinter = "\\\\dkcp100\dkb50 på Ne" & Format(Counter, "00") & ":"

Next

ExecuteExcel4Macro _

"PRINT(1,,,1,,,,,,,,2,"" \\\\dkcp100\dkb50 på Ne " & Format(Counter, "00") & ":"",,TRUE,,FALSE)"

 End If

On Error Resume Next

For Counter = 99 To 0 Step -1

Application.ActivePrinter = "\\\\dkcp200\dkx50 på Ne" & Format(Counter, "00") & ":"

Next

ExecuteExcel4Macro _

"PRINT(1,,,1,,,,,,,,2,"" \\\\dkcp200\dkx50 på Ne " & Format(Counter, "00") & ":"",,TRUE,,FALSE)"

DefPrinter = ActivePrinter

Range("A3").Select

End Sub




Print side | Luk vindue