vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Problem / Druck auf nächster Seite (n) fortsetzen 
Autor: Dirk01
Datum: 03.11.13 14:29

Hallo Manfred!

Ich hoffe, dass ich es nun halbwegs verstanden habe.

Global:
Dim ParentFileNames As List(Of String) = New List(Of String)
Dim ParentFileIndex As Integer = -1
Dim WithEvents prntdoc As New Printing.PrintDocument
Dim ImportFile As String
Form load:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
  System.EventArgs) _
Handles MyBase.Load
'...
ImportFile = TextBox1.Text & "\"
End Sub
Die Liste füllen:
Private Sub ListenDruck()
    Dim myDir As New DirectoryInfo(ImportFile)
    Dim myFiles() As FileInfo
    myFiles = myDir.GetFiles("*.dwg")
 
    For Each MyFile In myFiles
        ParentFileNames.Add(MyFile.Name)
    Next
End Sub
Die PrintPage erstellen:
Private Sub prntdoc_PrintPage(ByVal sender As System.Object, ByVal e As _
  System.Drawing.Printing.PrintPageEventArgs) Handles prntdoc.PrintPage
        Dim PositionX As Integer = e.MarginBounds.X * 25.4 \ 100 - 25
        Dim PositionY As Integer = e.MarginBounds.Y * 25.4 \ 100 - 25
        e.Graphics.PageUnit = GraphicsUnit.Millimeter
        Dim gr As Graphics = e.Graphics
 
        prntdoc.PrinterSettings.PrinterName = Me.P5_CB_Druckerauswahl.Text
 
        '  Startpositionen für X und Y festlegen 
        ' ********************************************
        Dim acXPos As VariantType = 15
        Dim acYPos As VariantType = 5
 
        '  Die Bitmaps für ok und no bestimmen 
        ' **********************************************
        Dim ok As Bitmap = Me.ImageList1.Images(0)
        Dim no As Bitmap = Me.ImageList1.Images(1)
 
        '  Die unterschiedlichen Schriftarten bzw. Höhen etc. definieren 
        ' ********************
        Dim MyFont14 As New System.Drawing.Font("Arial", 14, _
          Drawing.FontStyle.Bold)
        Dim MyFont12 As New System.Drawing.Font("Arial", 12, _
        Drawing.FontStyle.Regular)
        Dim MyFont10 As New System.Drawing.Font("Arial", 10, _
        Drawing.FontStyle.Regular)
 
        Dim fso As System.IO.File
 
        Dim pageindex As Integer = 0
        Dim parentfilename As String
 
        Do While ParentFileIndex < ParentFileNames.Count - 1 AndAlso pageindex < 3
            pageindex += 1
            ParentFileIndex += 1
            parentfilename = ParentFileNames(ParentFileIndex)
 
            Dim BasicFileName As String
 
            Label1.Text = ImportFile
 
            BasicFileName = parentfilename.Remove(parentfilename.Length - 6, 6)
            Dim BildName As String
            BildName = BasicFileName & "_D.wmf"
 
 
            '--Bild einfügen---
            Dim BlockBild As Bitmap = New Bitmap(ImportFile & BildName)
            gr.DrawImage(BlockBild, acXPos, acYPos + 30)
 
            '--Dateinamen _D.dwg einfügen--
            Dim FileName_D As String
            FileName_D = BasicFileName & "_D.dwg"
            gr.DrawString(FileName_D, MyFont10, Brushes.Black, acXPos + 100, _
              acYPos + 30)
            If fso.Exists(ImportFile & FileName_D) Then
                gr.DrawImage(ok, acXPos + 90, acYPos + 30)
            Else
                gr.DrawImage(no, acXPos + 90, acYPos + 30)
            End If
 
            '--Dateinamen _S.dwg einfügen--
            '...
            '--Dateinamen _F.dwg einfügen--
            '...
            '--Dateinamen _P.dwg einfügen--
            '...
        Loop
        e.HasMorePages = ParentFileIndex < ParentFileNames.Count - 1
    End Sub
Vorschau erstellen und drucken:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        Try
            ListenDruck()
            With PrintPreviewDialog1
                .Document = prntdoc
                If .ShowDialog() = System.Windows.Forms.DialogResult.OK Then
                    ParentFileIndex = -1
                    prntdoc.Print()
                End If
 
            End With
        Catch ex As System.Exception
            MsgBox("Problem:" & vbCrLf & ex.Message)
        End Try
    End Sub
Ergebnis nun ist, die Vorschau wird erstellt, jedoch jedes auf eine Seite und nicht die ersten 3 aus der liste auf Seite 1, nächsten 3 auf Seite 2, etc..
Sag ich dann drucken ok, wird nur eine leere Seite gedruckt.

Ich weiß, dass ich mich damit echt schwer hingebe und benötige eben drum Deine bzw. eure Hilfe.

Vielen Dank noch mal.

mfg.

Dirk

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem / Druck auf nächster Seite (n) fortsetzen3.808Dirk0128.10.13 16:25
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.755ModeratorFZelle28.10.13 20:32
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.775Dirk0129.10.13 13:52
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.715JangoF29.10.13 14:07
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.686Manfred X29.10.13 15:19
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.862Dirk0130.10.13 10:20
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.697Manfred X30.10.13 10:47
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.709Manfred X30.10.13 11:30
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.950Dirk0131.10.13 17:39
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.678Manfred X31.10.13 18:15
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.689Dirk0103.11.13 14:29
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.619Manfred X03.11.13 16:22
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.507Outi7715.11.13 07:56
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.659Manfred X15.11.13 09:25
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.522Outi7715.11.13 10:46
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.626Outi7715.11.13 11:31
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.835Manfred X15.11.13 12:02
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.574Outi7715.11.13 12:45
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.568Manfred X15.11.13 13:05
Beispiel für LayoutRectangle2.772Manfred X15.11.13 13:41
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.610Outi7715.11.13 13:45
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.632Outi7715.11.13 14:23
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.622Manfred X15.11.13 14:39
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.533Outi7715.11.13 14:59
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.778Manfred X15.11.13 15:15
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.540Manfred X15.11.13 15:43
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.594Outi7715.11.13 16:55
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.604Outi7718.11.13 12:40
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.567Manfred X18.11.13 14:08
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.606Outi7719.11.13 09:14
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.543Manfred X19.11.13 13:01
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.584Outi7719.11.13 13:59
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.553Manfred X19.11.13 14:18
Re: Problem / Druck auf nächster Seite (n) fortsetzen2.504Outi7719.11.13 15:08

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel