Avatar billede alexandersen Nybegynder
19. juni 2002 - 20:24 Der 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.
Avatar billede martin_moth Mester
19. juni 2002 - 21:31 #1
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
Avatar billede itbjarne Nybegynder
21. juni 2002 - 09:56 #2
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.
Avatar billede martin_moth Mester
21. juni 2002 - 11:29 #3
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)
Avatar billede alexandersen Nybegynder
01. juli 2002 - 14:14 #4
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.
Avatar billede alexandersen Nybegynder
01. juli 2002 - 14:16 #5
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)
Avatar billede martin_moth Mester
01. juli 2002 - 15:43 #6
Prøv at vis lidt af din kode - og peg på hvor det går galt :o)
Avatar billede alexandersen Nybegynder
01. juli 2002 - 18:42 #7
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
 
  CommonDialog1.ShowPrinter
 
  BeginPage = CommonDialog1.FromPage
  EndPage = CommonDialog1.ToPage
  NumCopies = CommonDialog1.Copies
  Orientering = CommonDialog1.Orientation



  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
Avatar billede alexandersen Nybegynder
01. juli 2002 - 19:59 #8
Variablen for antal kopier hedder Commondialog.Copies Hvad hedder variablen for print kvaliteten
Avatar billede alexandersen Nybegynder
06. oktober 2002 - 16:41 #9
Ingen brugbar svar
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester