ShellExecute di Sasà |
Salve gentilissimi!
Sono sprofondata in un
dilemma... e sono sicura che la soluzione è davanti al naso! non me
ne intendo tanto di VBA su excel, ma ci sto provando...
Devo
fare in modo di stampare un file pdf dal Visual...
Per
intanto guardando a destra e sinistra per internet ho trovato
seguente codice:
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
Private Const
SW_SHOWNORMAL = 1
Private Sub Pulsante3_Clic()
Const
Path = "J:\Sandra Gfeller\PGL\Weisungen\test.pdf"
Call
ShellExecute(hWnd, "Print", Path, "", "", SW_SHOWNORMAL)
End
Sub
Ma non succede niente... se al posto di "Print" scrivo
"Open" ok, mi apre il file, ma io voglio che me lo stampaaa! :)
spero possiate darmi una mano! ne sarei contenta!
Ciau Sandra |
|
di Mauro |
Ciao Sandra, ho provato il tuo codice e a me
funziona perfettamente! Probabilmente hai i parametri di stampa
sballati. Sei sicura di avere selezionato la stampante
predefinita giusta? Se provi a stampare da Acrobat funziona? ...
e da Excel? |
|
di apoben64 |
Scusate l'intromissione , io ho provato in questo
modo , un pò più semplice ma simile al vostro : Option Explicit
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
Sub stampa() On
Error Resume Next Dim X As Long X = ShellExecute_(0,
"Print", "C:\iltuofile.pdf", "", "", 1) End Sub
Funziona e spero sia utile ! |
|
di apoben64 |
Il trattino "_" l'ho messo per sbaglio :
X
= ShellExecute(0, "Print", "C:\iltuofile.pdf", "", "", 1)
|
|
di Sasà |
Grazie carissimi,
ma purtoppo non funziona!
Sono sicura che è proprio un problema di impostazioni...
siccome un file .doc me lo stampa tranquillamente
magari ha
anche a che fare con il fatto che lavoro su una piattaforma gestita
centralmente.
verdò che posso fare!
Grazie ancora
saluti Sandra |
|
di Mauro |
Probabilmente dipende dalla tua rete, ma dopo avere
lanciato la routine, vedi il processo nella coda di stampa della
cartella stampanti? |
|