Ciao,
come posso stampare un file pdf da shell vb6 senza aprirlo?![]()
Grazie, Ciao![]()
Ciao,
come posso stampare un file pdf da shell vb6 senza aprirlo?![]()
Grazie, Ciao![]()
... non può piovere per sempre!
Con la ShellExecute.
codice: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 Command1_Click() Dim nRet As Long ' Al posto di c:\locandine.pdf metti il nome del tuo pdf nRet = ShellExecute(Me.hwnd, "Print", "c:\locandine.pdf", vbNullString, 0&, 2) End Sub
ciao,![]()
Ciao, Brainjar
![]()
non fa nulla...
Altre idee??
... non può piovere per sempre!
A me funziona.
Devi avere, ovviamente, una installazione di Acrobat Reader sul
PC da dove vuoi che stampa.
ShellExecute lavora sulle associazioni dei file con le applicazioni.
Quando installi Acrobat Reader, il S.O. crea una associazione tra i
file che terminano in .pdf con Acrobat Reader appunto.
Ciao,![]()
Ciao, Brainjar
e perchè a me non fa assolutamente niente??
io ho passato File (variabile string contenete il path e il nome del mio file.pdf) a shellexecute ma.. niente!
sul pc c'è installato acrobat reader 7.0
suggerimenti?
Grazie ancora, ciao.![]()
... non può piovere per sempre!
Posta il codice, magari c'è qualche particolare che ti intrappa
tutto.
Ciao,![]()
Ciao, Brainjar
ok:
[CODE]
Private Sub cmdStampa_Click()
Dim j As Integer
Dim Ret As Long
Dim File As String
Dim INTE As Recordset
Dim dbFatture As Database
Set dbFatture = OpenDatabase(App.Path & "\MDB\FattureVendita.mdb")
Set INTE = dbFatture.OpenRecordset("Intestazione", dbOpenTable)
INTE.MoveFirst
For j = 1 To txtNFattura - 1
INTE.MoveNext
Next j
File = App.Path & "\DOCUMENTI\FATTURE VENDITA\" & INTE!RagSocCliente & txtNFattura & ".pdf"
End If
Ret = ShellExecute(Me.hwnd, "print", File, vbNullString, 0&, 2)
Unload Me
End Sub
/End code
Ciao![]()
Ciao
... non può piovere per sempre!
ah, dimenticavo:
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
... non può piovere per sempre!
Due cose :
1) controlla che
File = App.Path & "\DOCUMENTI\FATTURE VENDITA\" & INTE!RagSocCliente & txtNFattura & ".pdf"
ti dia esattamente il nome del file, senza degli spazi inutili.
Per provare inserisci un
If Dir$(File) Then
Ret = ShellExecute(Me.hwnd, "print", File, vbNullString, 0&, 2)
End If
e con il debug vedi se ci entri ad eseguire la shellexecute.
2) Sostituisci "print" con "Print", non si sa mai.
Ciao,![]()
Ciao, Brainjar
Piccola modifica, invece di
Metticodice:If Dir$(File) Then Ret = ShellExecute(Me.hwnd, "print", File, vbNullString, 0&, 2) End If
Ciao,codice:If Dir$(File) <> "" Then Ret = ShellExecute(Me.hwnd, "print", File, vbNullString, 0&, 2) End If
![]()
Ciao, Brainjar