Question pour imprimer!!!

Signaler
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012
-
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012
-
Bonjour a tous,

J'ai quelques questions sur les impressions.

1 - Comment centre du text et une image dans une impression sans y aller a l'oeil?

2 - Comment comment creer une tabulation sur la feuille?

3 - Comment donner une valeur pour les dimension du papier (ex je veux dimension d'une lettre et non d'une feuille)

4 - Comment faire un saut de page?

Merci
A tous
DRAAFIL

3 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

aide toi de ceci :
(je t'ai laissé qques fonctions d'API pouvant te servir en commentaire)

<small> Coloration syntaxique automatique
</small>
Private Const CCHDEVICENAME  As Long =  32& 
Private Const CCHFORMNAME    As Long = 32& 
Private Const PD_RETURNDC    As Long = &H100 
Private Const PD_RETURNIC    As Long = &H200 
Private Const NULL_PTR       As Long = 0& 

Private Type DEVMODE 
    dmDeviceName       As String * CCHDEVICENAME 
    dmSpecVersion      As Integer 
    dmDriverVersion    As Integer 
    dmSize             As Integer 
    dmDriverExtra      As Integer 
    dmFields           As Long 
    dmOrientation      As Integer 
    dmPaperSize        As Integer 
    dmPaperLength      As Integer 
    dmPaperWidth       As Integer 
    dmScale            As Integer 
    dmCopies           As Integer 
    dmDefaultSource    As Integer 
    dmPrintQuality     As Integer 
    dmColor            As Integer 
    dmDuplex           As Integer 
    dmYResolution      As Integer 
    dmTTOption         As Integer 
    dmCollate          As Integer 
    dmFormName         As String * CCHFORMNAME 
    dmUnusedPadding    As Integer 
    dmBitsPerPel       As Long 
    dmPelsWidth        As Long 
    dmPelsHeight       As Long 
    dmDisplayFlags     As Long 
    dmDisplayFrequency As Long 
End Type 

Private Type DEVNAMES 
    wDriverOffset As Integer 
    wDeviceOffset As Integer 
    wOutputOffset As Integer 
    wDefault      As Integer 
End Type 

Private Type InformationImprimante 
    lStructSize         As Long 
    hwndOwner           As Long 
    hDevMode            As Long 
    hDevNames           As Long 
    hdc                 As Long 
    flags               As Long 
    nFromPage           As Integer 
    nToPage             As Integer 
    nMinPage            As Integer 
    nMaxPage            As Integer 
    nCopies             As Integer 
    hInstance           As Long 
    lCustData           As Long 
    lpfnPrintHook       As Long 
    lpfnSetupHook       As Long 
    lpPrintTemplateName As String 
    lpSetupTemplateName As String 
    hPrintTemplate      As Long 
    hSetupTemplate      As Long 
End Type 

'Private Declare Function PrintDlg Lib "comdlg32.dll" Alias "PrintDlgA" (pPrintdlg As InformationImprimante) As Long
'Private Declare Function GlobalAlloc Lib "Kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
'Private Declare Function GlobalFree Lib "Kernel32" (ByVal hMem As Long) As Long
Private Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long 
Private Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long 
'Private Declare Function CopyMemory Lib "Kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)

Sub Impression2() 
    Dim imprimanteSelectionne    As InformationImprimante 
    Dim infoDevice               As DEVMODE 
    Dim adresseStructureDEVMODE  As Long 

On Error GoTo Saut 
With imprimanteSelectionne 
    .lStructSize =  Len (imprimanteSelectionne) 
    .hDevMode  = NULL_PTR 
    .hDevNames = NULL_PTR 
    .flags = PD_RETURNIC 
End With 

adresseStructureDEVMODE = GlobalLock(imprimanteSelectionne.hDevMode) 

Printer.FontName = "Courier" 
Printer.FontSize = 10 

' EXEMPLE pour ta tabulation :
Printer.Print vbTab & "Salut !" 

Printer.EndDoc 
adresseStructureDEVMODE = GlobalUnlock(imprimanteSelectionne.hDevMode) 

Exit Sub 
Saut: 
Printer.KillDoc 

End Sub 

<small> Coloration syntaxique automatique </small>

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012

comment faire deux print sur la meme ligne mais a 2 endroit precie avec print.currentx = 20

merci pour l'info, mais je comprend rien
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012

pkoi vbTab ne fonctionne pas chez moi, je vais expliquer ce que je veux faire, j'ai 2 colonne (p-t plus) mais la longeur de valeur varie pour chaque enregistrement.  je voudrais que la deuxieme colonne commence a un point precie(une valeur).

Merci
DraaFil