Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    VB6 Stampare file da shell

    Ciao,
    come posso stampare un file pdf da shell vb6 senza aprirlo?
    Grazie, Ciao
    ... non può piovere per sempre!

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    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

  3. #3

    non fa nulla...

    Altre idee??
    ... non può piovere per sempre!

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    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

  5. #5
    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!

  6. #6
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Posta il codice, magari c'è qualche particolare che ti intrappa
    tutto.

    Ciao,
    Ciao, Brainjar

  7. #7
    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!

  8. #8
    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!

  9. #9
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    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

  10. #10
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Piccola modifica, invece di
    codice:
    If Dir$(File) Then 
       Ret = ShellExecute(Me.hwnd, "print", File, vbNullString, 0&, 2) 
    End If
    Metti

    codice:
    If Dir$(File) <> "" Then 
       Ret = ShellExecute(Me.hwnd, "print", File, vbNullString, 0&, 2) 
    End If
    Ciao,
    Ciao, Brainjar

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.