OVH Cloud OVH Cloud

Indicateurs boite de dialogue

1 réponse
Avatar
Thierry
Bonjour tout le monde.

Quelqu'un pourrait-il me dire comment activer le bouton=20
d'option pages et le contr=F4le de modification qui lui est=20
associ=E9 lorsque l'on utilise un common dialog box en=20
m=E9thode showprinter ?

Merci d'avance

1 réponse

Avatar
Salut Thierry,

J'ai bien peur que tu ne sois obligé de construire toi même ta boite de
dialogue d'impression via l'API windows...
En effet, le common dialog est malheureusement très limité et ne contient
que des options basiques d'impression.

Tu peux trouver du code source pour cela sur le très bon site (anglais) de
http://vbaccelerator.com/

ou tester ce code :

Option Explicit
Private Sub Command1_Click()
Dim myDatabase As Database
Dim rsMyTable As Recordset
Dim i As Integer
Dim j As Integer
Dim startpage As Integer' enable the page range selection option
CommonDialog1.Max = 3' set the last page to be printed
CommonDialog1.FromPage = 1
CommonDialog1.ToPage = 3' clear flags before showing printer dialog box
CommonDialog1.Flags = 0' show the printer dialog box
CommonDialog1.ShowPrinter' Enter the page number from which to start
printing
startpage = CommonDialog1.FromPage' set the font size. This will give 42
lines per page
Printer.FontSize = 18' replace with your path to the nwind.mdb
Set myDatabase = OpenDatabase("nwind.mdb")
Set rsMyTable = myDatabase.OpenRecordset("Customers")
rsMyTable.MoveFirst
If (CommonDialog1.Flags And cdlPDPageNums) <> 0 Then
MsgBox " Printing pages " & CommonDialog1.FromPage & " to " & _
CommonDialog1.ToPage
Select Case startpage
Case 1
Case 2
' skip page 1
For i = 1 To 42
rsMyTable.MoveNext
Next Case 3
' skip 2 pages
For i = 1 To 84
rsMyTable.MoveNext
Next
End Select
If startpage <> 0 Then
For j = startpage To CommonDialog1.ToPage
For i = 1 To 42
If rsMyTable.EOF Then Exit For
Text1.Text = Text1.Text & rsMyTable!CompanyName & vbCrLf
Printer.Print rsMyTable!CompanyName
rsMyTable.MoveNext
Next
Printer.NewPage
Next
Printer.EndDoc
End If
ElseIf (CommonDialog1.Flags And cdlPDSelection) <> 0 Then

rsMyTable.MoveLast
rsMyTable.MoveFirst
For i = 1 To rsMyTable.RecordCount
Text1.Text = Text1.Text & rsMyTable!CompanyName & vbCrLf
rsMyTable.MoveNext
Next
MsgBox "Select text to be printed"
Else
For i = 1 To rsMyTable.RecordCount
Text1.Text = Text1.Text & rsMyTable!CompanyName & vbCrLf
rsMyTable.MoveNext
Next
Printer.Print Text1.Text
Printer.EndDoc
MsgBox "Printing all pages"
End If
End Sub
Private Sub Command2_Click()
Printer.Print Text1.SelText
Printer.EndDoc
End Sub
Private Sub Form_Load()
Command1.Caption = "Select Printing Option"
Command2.Caption = "Print selected text"
End Sub

"Thierry" a écrit dans le message de
news:021301c37d38$7d359510$
Bonjour tout le monde.

Quelqu'un pourrait-il me dire comment activer le bouton
d'option pages et le contrôle de modification qui lui est
associé lorsque l'on utilise un common dialog box en
méthode showprinter ?

Merci d'avance