• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Printerselectie macro VBA locatie printer verschilt (andere Ne)

Status
Niet open voor verdere reacties.

vixxhi

Nieuwe gebruiker
Lid geworden
26 nov 2013
Berichten
3
Beste,

Ik wil graag dat mijn print macro werkt op de verschillende gebruikersaccounts. hiervoor wil ik een specifieke printer wordt gebruikt.
Echter verschild de netwerklocatie per gebruiker. Mijn macro zoals hij nu is gaat daar niet in op en resulteert in een fout.
Ik wil graag dat een functie voormij de printernaam bepaald.

De code zoals hij nu is:
Code:
    Range("A6").Select
Dim STDprinter As String
    STDprinter = Application.ActivePrinter
    Application.ActivePrinter = "\\backend\P026 op Ne02:"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Application.ActivePrinter = STDprinter
    Range("A1:E57").Select

Ik wil deze macro combineren met de volgende (of aanverwante) functie.

Code:
Function NetworkPrinter(ByVal myprinter As String)
  On Error Resume Next
  Dim X As Integer
  X = 0
TryAgain:
  On Error Resume Next
  'Printer
  Application.ActivePrinter = "\\servernaam\" & myprinter & " Op Ne" & Format(X, "00") & ":"
  If Err.Number <> 0 And X < 100 Then
    X = X + 1
    GoTo TryAgain
  ElseIf Err.Number <> 0 And X > 99 Then
    GoTo PrtError
  End If
  On Error GoTo 0
  NetworkPrinter = "\\servernaam\" & myprinter & " Op Ne" & Format(X, "00") & ":"
errorExit:
  Exit Function
PrtError:
  'no printer found
  NetworkPrinter = ""
  Resume errorExit
End Function

Hoe combineer ik de macro met de functie die resulteert in Ne00: of Ne01: of Ne02: of Ne03: enz.

Graag verneem ik.
 
Code:
    Range("A6").Select
Dim STDprinter As String
    STDprinter = Application.ActivePrinter
    Application.ActivePrinter = NetworkPrinter("\\backend\P026")
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Application.ActivePrinter = STDprinter
    Range("A1:E57").Select

Function NetworkPrinter(ByVal myprinter As String)
  On Error Resume Next
  Dim X As Integer
  X = 0
TryAgain:
  On Error Resume Next
  'Printer
  Application.ActivePrinter = myprinter & " Op Ne" & Format(X, "00") & ":"
  If Err.Number <> 0 And X < 100 Then
    X = X + 1
    GoTo TryAgain
  ElseIf Err.Number <> 0 And X > 99 Then
    GoTo PrtError
  End If
  On Error GoTo 0
  NetworkPrinter = myprinter & " Op Ne" & Format(X, "00") & ":"
errorExit:
  Exit Function
PrtError:
  'no printer found
  NetworkPrinter = ""
  Resume errorExit
End Function
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan