M
Mia
I want to program a macro that should print to sepcified printer and save as
PDF.
I´m working in a network so not everyone can print a PDF but can save as PDF.
The PDF-file should be saved in a ftp-fil
"ftp://srv.gulle.com\guu\vis\test.pdf"
and the name should be from a cel Meny!F21. Meny!F21 are linked to another
sheet
so its only formula and no text.
My macro that i Have started with and works when I´m only want to select a
printer:
Sub menyskrivbeviskomplett()
'
' menyskrivbeviskomplett Makro
'
Sheets("Försäkringsbevis").Select
Dim str As String
Dim strNetworkPrinter As String
str = Application.ActivePrinter
strNetworkPrinter = GetFullNetworkPrinterName("\\Server01\NRG DSc428 PCL
6 Färg")
If Len(strNetworkPrinter) > 0 Then
Application.ActivePrinter = strNetworkPrinter
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
Application.ActivePrinter = str
Sheets("Meny").Select
End Sub
Function GetFullNetworkPrinterName(strNetworkPrinterName As String) As String
Dim strCurrentPrinterName As String, strTempPrinterName As String, i As
Long
strCurrentPrinterName = Application.ActivePrinter
i = 0
Do While i < 100
strTempPrinterName = strNetworkPrinterName & " på Ne" & Format(i,
"00") & ":"
On Error Resume Next ' try to change to the network printer
Application.ActivePrinter = strTempPrinterName
On Error GoTo 0
If Application.ActivePrinter = strTempPrinterName Then
GetFullNetworkPrinterName = strTempPrinterName
i = 100 ' makes the loop end
End If
i = i + 1
Loop
Application.ActivePrinter = strCurrentPrinterName ' change back to
the original printer
End Function
PDF.
I´m working in a network so not everyone can print a PDF but can save as PDF.
The PDF-file should be saved in a ftp-fil
"ftp://srv.gulle.com\guu\vis\test.pdf"
and the name should be from a cel Meny!F21. Meny!F21 are linked to another
sheet
so its only formula and no text.
My macro that i Have started with and works when I´m only want to select a
printer:
Sub menyskrivbeviskomplett()
'
' menyskrivbeviskomplett Makro
'
Sheets("Försäkringsbevis").Select
Dim str As String
Dim strNetworkPrinter As String
str = Application.ActivePrinter
strNetworkPrinter = GetFullNetworkPrinterName("\\Server01\NRG DSc428 PCL
6 Färg")
If Len(strNetworkPrinter) > 0 Then
Application.ActivePrinter = strNetworkPrinter
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
Application.ActivePrinter = str
Sheets("Meny").Select
End Sub
Function GetFullNetworkPrinterName(strNetworkPrinterName As String) As String
Dim strCurrentPrinterName As String, strTempPrinterName As String, i As
Long
strCurrentPrinterName = Application.ActivePrinter
i = 0
Do While i < 100
strTempPrinterName = strNetworkPrinterName & " på Ne" & Format(i,
"00") & ":"
On Error Resume Next ' try to change to the network printer
Application.ActivePrinter = strTempPrinterName
On Error GoTo 0
If Application.ActivePrinter = strTempPrinterName Then
GetFullNetworkPrinterName = strTempPrinterName
i = 100 ' makes the loop end
End If
i = i + 1
Loop
Application.ActivePrinter = strCurrentPrinterName ' change back to
the original printer
End Function