19. juni 2002 - 20:24Der er
8 kommentarer og 1 løsning
Print en side ved hjælp af common dialog
Mit problem er at jeg gerne skal kunne printe en form ud når jeg trykker på en knap, det er ikke det at skrive ud der er problemet, men hvordan får jeg den til at accepterer indstillingerne i printeropsættet. Dvs udskriv i klade, eller i tværformat o.s.v Jeg bruger Common Dialog. Derudover kan jeg ikke lave formen stor nok til at passe i A4 format hvordan gør jeg det. evt. i udskrivningen.
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Er det VB eller VBA - og hvad er "klade, eller i tværformat". Og hvad er det helt præcist du skal skrive ud - jeg forstår ikke hvad du mener med at "skrive en form ud" ?
Generelt gør en Commondialog ikke andet, end at den lader brugeren sætte en række værdier for nogle variable. Dvs. brugeren får lov at vælge printer, fra- og til-side, antal kopier osv. osv. Men den udskriver ingenting - det skal du selv gøre ved kommandoer såsom Printer.Line og Printer.Print
Hej. Har ingen svar men derimod samme problem. Jeg har før lavet det således:
Rem Printeropsaetning CommonDialog1.CancelError = True On Error GoTo PrinterError CommonDialog1.PrinterDefault = True CommonDialog1.ShowPrinter
Men har som alexandersen samme problem at commondialog ikke accepterer at man ændrer på opsætningen når dialogboxen vises på skærmen og man derefter trykker på udskriv. Ændrer man f.eks. til kladde og trykker udskriv, kommer der ikke en kladde ud men blot normalt udprint.
Når man skriver CommonDialog1.ShowPrinter vises printdialogen. Når man trykker sker der ingen som helst ting...
Det eneste der sker når man trykker OK er, at de indstillinger der er valgt i printdialogen skrives til nogle variable, f.eks. antal kopier brugeren har valgt, som gemmen i Commondialog.Copies.
Man må selv i sin kode tage højde for hvad brugeren har valgt, og altså bruge de værdier der er blevet sat i de forskellige variabler. F.eks.
For i = 1 to Commondialog.Copies Printer.Print "Kopi nr " & i next i
Så kom igen og forklar lidt mere præcist hvad du vil, evt. med lidt af din kode :o) (og om du bruger VB eller VBA)
Jeg bruger VB. Jeg har udformet en form som en formular og vil gerne kune skrive den ud i A4 størelse, men jeg kan ikke lave formen stor nok så når jeg skriver den ud fylder den kun godt det ½ af en A4 side. Jeg har fundet ud af at bruge variablerne fra common Dialog, bortset fra print kvalitet (dvs om man evt vil skrive ud i kalde), hvad hedder den variabel.
Det er muligt at man ikke skal lave formularen på en form, men havordan gør jeg så, Jeg skal bare kunne slrive ud i A4 størelse, og det hjælper ikke at bruge Printer.Printersize = 9 (A4)
Jeg har brugt følgende kode til at printe formen ud:Private Sub Command2_Click() Dim BeginPage, EndPage, NumCopies, i, Orientering ' Set Cancel to True CommonDialog1.CancelError = True On Error GoTo ErrHandler
For i = 1 To NumCopies frmUdskrift.BackColor = RGB(255, 255, 255) Printer.PaperSize = 9 Printer.Orientation = Orientering frmUdskrift.PrintForm Printer.EndDoc
Next i Exit Sub ErrHandler: ' User pressed the Cancel button Exit Sub
End Sub
Den kode printer formen frmUdskrift, som er udformet som en formular, ud. Men jeg vil gerne have den til at ændre formen til A4 størrelse når den skrives ud. Formen er oprettet ved hjælp af forskellige labels, hvis Caption ændres andre steder i programmet. Når jeg så skriver ud skulle det gerne fylde et helt A4 papir, ligesom jeg gerne vil kunne skrive ud i klade kvalitet, Jeg prøvede med printer.papersize = 9 som er A4 men det virkede ikke
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.