print van bestand

Status
Niet open voor verdere reacties.

kareltje555

Gebruiker
Lid geworden
22 sep 2011
Berichten
70
beste ..
in een werkblad heb ik een knop gemaakt , waaronder ik een opdracht wil maken om in een specifieke map , daar een pdf bestand kiezen - kan daar kiezen uit diverse talen voor patienten - en dat bestand op de default printer afdrukken .
ik ben zover dat ik de bestandsnaam en pad in een cel kan weg schrijven middels dialogfilepicker
en dan dacht ik met :

Dim PDFnaam As String
Sheets("scabies").Activate
PDFnaam = Range("h15")
Application.PrintOut Filename:=PDFnaam

maar ik ondervind foutmelding op de onderste regel .
wat gaat er mis , wat doe ik niet goed??

alvast dank voor jullie alziend oog
charles
 
Als je zegt een foutmelding te krijgen, vertel er dan ook bij welke.
 
Waarom heb je de filedialog nodig ?
Als het bestand een vaste plaats heeft kun je hem toch meteen laten afdrukken ?
 
ok , ik begrijp nu dat met printout je geen bestand kunt afdrukken dus.

snb : bestanden hebben een vast plaats maar ik wil aan de hand van de taal die men spreekt een informatie folder afdrukken - ik kan kiezen uit een 5 tal talen en is ook nog afhankelijk van het medicijn die men krijgt voorgeschreven .
 
Om een bestand af te drukken naar de standaard printer kan je het volgende doen.
Zet dit in een module:
Code:
#If WIN64 Then
    Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As Long, _
         ByVal lpOperation As String, _
         ByVal lpFile As String, _
         ByVal lpParameters As String, _
         ByVal lpDirectory As String, _
         ByVal nShowCmd As Long) As Long
#Else
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As Long, _
         ByVal lpOperation As String, _
         ByVal lpFile As String, _
         ByVal lpParameters As String, _
         ByVal lpDirectory As String, _
         ByVal nShowCmd As Long) As Long
#End If

Sub PrintFile(Bestand As String)
    ShellExecute 0&, "print", Bestand, 0, "Directory", 0
End Sub

Dan kan je dit ergens anders in je document zetten, bijvoorbeeld achter die knop:
Code:
Private Sub CommandButton1_Click()
    pad = Environ("Userprofile") & "\Documents\"    [COLOR="#008000"]'Pad naar het bestand[/COLOR]
    PrintFile pad & Sheets("scabies").Range("H15")  [COLOR="#008000"]'De bestandsnaam[/COLOR]
End Sub
 
Laatst bewerkt:
Of in 1 regel (in het voorbeeld het bestand "G:\OF\voorbeeld.pdf" )

Code:
Sub M_snb()
  CreateObject("shell.application").Namespace("G:\OF").Items.Item("voorbeeld.pdf").InvokeVerb "print"
End sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan