Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 18-10-2010 12:31:49

raubry  
Membre Geek
Date d'inscription: 16-12-2009
Messages: 26
Pépites: 141
Banque: 0

[RESOLU] OLE et printout

Bonjour, je débute en PB et je voudrais savoir s'il est possible de forcer une imprimante sur le code
ole_cour_reclame_carte.ActiveDocument.Printout(false)

Car ma feuille doit être imprimé obligatoirement sur l'imprimante "x" même si ce n'est pas l'imprimante par défaut.
Comment puis-je passer cela en paramètre.

Cordialement.

Richard

Dernière modification par raubry (19-12-2013 10:44:24)

Hors ligne

 

#2 18-10-2010 13:25:42

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] OLE et printout

Bonjour, regarde du côté de PrintSetPrinter avant de lancer ton impression, voici un exemple d'appel :

Code: pb

long ll_place
string ls_setprn

string ls_prntrs = PrintGetPrinters ( )
ll_place=pos (ls_prntrs, "~n") 
mle_1.text = PrintGetPrinters ( )
ls_setprn = Left (ls_prntrs, ll_place - 1)
PrintSetPrinter (ls_setprn)

N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 18-10-2010 13:30:35

raubry  
Membre Geek
Date d'inscription: 16-12-2009
Messages: 26
Pépites: 141
Banque: 0

Re: [RESOLU] OLE et printout

Ok, je vais regarder je met l'ensemble de mon code ca sera peut être plus compréhensible

Code:

//Courrier réclamation carte
if cbx_cour_reclame_carte.checked then
    
    ole_cour_reclame_carte = create oleobject
    if Not(ole_cour_reclame_carte.connecttonewobject( "word.application.8") = 0) then
        if Not(ole_cour_reclame_carte.connecttonewobject( "word.application.10") = 0) then    
                MessageBox("Ole erreur","Connection impossible")
                goto fin
        end if
    end if
    
    ls_chemin = ProfileString('c:\winnt\ccpb.ini','Courrier','Lecteur','None')
    ls_perso_id = string(idc_retour_perso_id)
    
    /* Création objet adresse entreprise                                 */
    /* autoinstantiate                                                   */

    ll_ent_id = lnv_cpni_adherent.of_rech_adhr_ent( dec(idc_retour_adhr_ref))
    
    lnv_cpni_personnel.of_rech_perso(ls_perso_id)
    lnv_cpni_ent_adresse.il_ent_id = ll_ent_id
    lnv_cpni_ent_adresse.of_rech_ent()
    lnv_cpni_adherent.of_adherent( long(idc_retour_adhr_id))
    lnv_cpni_utilisateur.of_utilisateur( )
    
    ls_doc     = ls_chemin + 'CIP\Courrier salarié pour retour carte.doc'
    ls_benef    = lnv_cpni_personnel.is_genre + ' '
    ls_benef += lnv_cpni_personnel.is_nom + ' '
    ls_benef += lnv_cpni_personnel.is_prenom
    
    
    ole_cour_reclame_carte.Documents.Open(ls_doc)
    
    ls_result = ls_benef
    if IsNull(ls_result) then
        ls_result = ''
    end if
    ole_cour_reclame_carte.ActiveDocument.FormFields[1].Result = ls_result
        
    ls_result = lnv_cpni_personnel.is_adr1
    if IsNull(ls_result) then
        ls_result = ''
    end if
    ole_cour_reclame_carte.ActiveDocument.FormFields[2].Result = ls_result
    
    ls_result = lnv_cpni_personnel.is_adr2
    if IsNull(ls_result) then
        ls_result = ''
    end if
    ole_cour_reclame_carte.ActiveDocument.FormFields[3].Result = ls_result
    
    ls_result = lnv_cpni_personnel.is_adr3
    if IsNull(ls_result) then
        ls_result = ''
    end if
    ole_cour_reclame_carte.ActiveDocument.FormFields[4].Result = ls_result
    
    ls_result = lnv_cpni_personnel.is_cp + ' ' + lnv_cpni_personnel.is_ville
    if IsNull(ls_result) then
        ls_result = ''
    end if
    ole_cour_reclame_carte.ActiveDocument.FormFields[5].Result = ls_result
    
    ls_result = lnv_cpni_utilisateur.is_initial
    if IsNull(ls_result) then
        ls_result = ''
    end if
    ole_cour_reclame_carte.ActiveDocument.FormFields[6].Result = ls_result
    
    ls_result    = lnv_cpni_personnel.is_genre
    if IsNull(ls_result) then
        ls_result = ''
    end if
    ole_cour_reclame_carte.ActiveDocument.FormFields[7].Result = ls_result
    
    ls_result = lnv_cpni_ent_adresse.is_nom
    if IsNull(ls_result) then
        ls_result = ''
    end if
    ole_cour_reclame_carte.ActiveDocument.FormFields[8].Result = ls_result
    
    ls_result    = lnv_cpni_personnel.is_genre
    if IsNull(ls_result) then
        ls_result = ''
    end if
    ole_cour_reclame_carte.ActiveDocument.FormFields[9].Result = ls_result

    
    /*     Impression du courrier                                        */
    ole_cour_reclame_carte.ActiveDocument.Printout(false)
    
    ole_cour_reclame_carte.ActiveDocument.Close(0)
    
    ole_cour_reclame_carte.application.quit()
    ole_cour_reclame_carte.disconnectobject()

//    fin:
    destroy ole_cour_reclame_carte

    
end if

Hors ligne

 

#4 18-10-2010 13:32:50

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] OLE et printout

Essaye le code juste avant ton :

Code: pb

ole_cour_reclame_carte.ActiveDocument.Printout(false)


NB : 


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22