oceanrace
Gebruiker
- Lid geworden
- 14 mei 2008
- Berichten
- 198
Hallo forummers,
Weet iemand hoe je een excel bestand via een macro kunt laten printen naar Microsoft Office Document Image Writer?
Ik heb al de hele dag gezocht maar kan niet echt een oplossing vinden....
Deze had ik gevonden, maar bij mij kan hij de driver niet vinden....
(Driver not found krijg ik als melding)
Weet iemand hoe je een excel bestand via een macro kunt laten printen naar Microsoft Office Document Image Writer?
Ik heb al de hele dag gezocht maar kan niet echt een oplossing vinden....
Deze had ik gevonden, maar bij mij kan hij de driver niet vinden....
(Driver not found krijg ik als melding)
Code:
Sub f00()
Dim PrinterName As String
Dim PortNumber As Integer
Dim PrinterPort As String
Dim PrinterFullName As String
Dim PrinterFound As Boolean
Dim STDprinter As String
Dim lCount As Long
Dim GetFolderName As String
Dim PrinterNumber
'-------------------------------------------------------------------------
STDprinter = Application.ActivePrinter
GetFolderName = Get_Directory("Select Folder", "")
If GetFolderName = "" Then Exit Sub
PrinterName = "Microsoft XPS Document Writer"
PrinterFound = False
On Error Resume Next ' SET ERROR TRAPPING
'-------------------------------------------------------------------------
'- LOOP Ne: NUMBERS
For PortNumber = 0 To 12
PrinterPort = "Ne" & Format(PortNumber, "00") & ":"
PrinterFullName = PrinterName & PrinterNumber & " on " & PrinterPort
'---------------------------------------------------------------------
'- TRY TO SET ACTIVEPRINTER
Application.ActivePrinter = PrinterFullName
'---------------------------------------------------------------------
'- IF ERROR TRY NEXT PRINTER
If Err.Number = 0 Then
Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, PrintToFile:=True, PrToFileName:=(Sheets("Sheet1").Range("A1").Value & ".xps")
PrinterFound = True
Sheets(Array("Sheet1")).Select
Exit For
Else
Err.Clear ' clear for next error
End If
'---------------------------------------------------------------------
Next PortNumber
'-------------------------------------------------------------------------
'- RESULT
If PrinterFound Then
' MsgBox ("Successfully Saved With" & vbCr & PrinterFullName)
Else
MsgBox (PrinterName & vbCr & "Driver not found")
End If
Application.ActivePrinter = STDprinter
'------------------------------------------------------------------------
End Sub
'--------------------------------------------------------------------------------------
Function Get_Directory(ByRef strMessage As String, ByRef strInitialDirectory) As String
On Error GoTo BadDirections
Dim objFF As Object
Set objFF = CreateObject("Shell.Application").BrowseForFolder _
(0, strMessage, &H4000, strInitialDirectory)
If Not objFF Is Nothing Then
Get_Directory = objFF.items.Item.Path
Else
Get_Directory = vbNullString
End If
Set objFF = Nothing
Exit Function
BadDirections:
Set objFF = Nothing
Get_Directory = vbNullString
End Function