Imports Microsoft.Reporting.WinForms Imports GrapeCity.ActiveReports.Document Imports System.Globalization Imports System.IO Public Class frmPrintLayout Public datvon As Date Public RaisePrintEvent As Boolean = False Public speedPrint As Boolean = False Private WithEvents exportMenu As ToolStripMenuItem = New ToolStripMenuItem("Export") Public Event PRINT() Dim art As String = "" Public Sub New() InitializeComponent() End Sub Public Sub New(ByVal art As String) InitializeComponent() Me.art = art End Sub Private Sub frmPrintLayout_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown If e.KeyCode = Keys.ControlKey And e.KeyCode = Keys.P Then btnPrint.PerformClick() End If End Sub Private Sub frmPrintLayout_Load(sender As Object, e As EventArgs) Handles MyBase.Load Viewer.Toolbar.ToolStrip.Items.Add(exportMenu) 'Hilfstexte in Toolbar eindeutschen Viewer.Toolbar.ToolStrip.Items(0).ToolTipText = "Seitenübersicht" Viewer.Toolbar.ToolStrip.Items(2).ToolTipText = "Drucken" Viewer.Toolbar.ToolStrip.Items(2).Visible = False Viewer.Toolbar.ToolStrip.Items(5).ToolTipText = "Kopieren" Viewer.Toolbar.ToolStrip.Items(6).ToolTipText = "Suchen" Viewer.Toolbar.ToolStrip.Items(10).ToolTipText = "aktueller Zoom" Viewer.Toolbar.ToolStrip.Items(12).ToolTipText = "an Fensterbreite anpassen" Viewer.Toolbar.ToolStrip.Items(13).ToolTipText = "vollständige Seite an Fenstergröße anpassen" Viewer.Toolbar.ToolStrip.Items(15).ToolTipText = "Einzelseitenansicht" Viewer.Toolbar.ToolStrip.Items(16).ToolTipText = "Bildlauf aktivieren" Viewer.Toolbar.ToolStrip.Items(17).ToolTipText = "Mehrseiten-Ansicht" Viewer.Toolbar.ToolStrip.Items(19).ToolTipText = "erste Seite" Viewer.Toolbar.ToolStrip.Items(20).ToolTipText = "vorige Seite" Viewer.Toolbar.ToolStrip.Items(21).ToolTipText = "aktuelle Seite" Viewer.Toolbar.ToolStrip.Items(22).ToolTipText = "nächste Seite" Viewer.Toolbar.ToolStrip.Items(23).ToolTipText = "letzte Seite" Viewer.Toolbar.ToolStrip.Items(25).ToolTipText = "Sprung rückwärts" Viewer.Toolbar.ToolStrip.Items(26).ToolTipText = "Sprung vorwärts" Viewer.Toolbar.ToolStrip.Items(30).ToolTipText = "Anzeige refreshen" Viewer.Toolbar.ToolStrip.Items(33).ToolTipText = "Ansicht-Modus" Viewer.Toolbar.ToolStrip.Items(34).ToolTipText = "Textauswahl-Modus" Viewer.Toolbar.ToolStrip.Items(35).ToolTipText = "Schnappschuss erstellen" End Sub Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click If RaisePrintEvent Then RaiseEvent PRINT() Else Me.Viewer.Print(True, True, True) End If Exit Sub If Me.Viewer.Name = "" Then End If 'Me.Viewer.Print(True, True, True) 'Dim p As GrapeCity.Viewer.Common.PrintingSettings = Me.Viewer.PrintingSettings 'If Me.ReportViewer1.PrintDialog() = DialogResult.OK Then Me.Close() End Sub Public Sub PRINTMe() RaiseEvent PRINT() End Sub Private Sub exportMenu_Click(sender As Object, e As EventArgs) Handles exportMenu.Click Exportieren(Viewer.Document, "Auswertung offene Anträge mit Vorauszahlung") End Sub Public Shared Sub Exportieren(ByVal document As SectionDocument, ByVal Namensvorschlag As String) Try Dim datei As FileInfo = Nothing If Not ermittleDateiname(datei, Namensvorschlag) Then Exit Sub End If Select Case datei.Extension.ToUpper() Case ".pdf".ToUpper() Dim pdfExport1 As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport() pdfExport1.Export(document, datei.FullName) Case ".xlsx".ToUpper() Dim xlsExport1 As New GrapeCity.ActiveReports.Export.Excel.Section.XlsExport() xlsExport1.FileFormat = GrapeCity.ActiveReports.Export.Excel.Section.FileFormat.Xlsx xlsExport1.Export(document, datei.FullName) Case ".rtf".ToUpper() Dim rtfExport1 As New GrapeCity.ActiveReports.Export.Word.Section.RtfExport() rtfExport1.Export(document, datei.FullName) Case Else MessageBox.Show("Es würde ein ungültiges Exportformat ausgewählt. Erlaubt sind 'pdf', 'rtf' und 'xlsx'.") Exit Sub End Select If MessageBox.Show("Der Export wurde erfolgreich durchgeführt. Soll die Exportdatei jetzt geöffnet werden?", "Export", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) = DialogResult.Yes Then Process.Start(datei.FullName) End If Catch ex As Exception MessageBox.Show("Exportieren fehlgeschlagen. Fehler: " + ex.Message) End Try End Sub Private Shared Function ermittleDateiname(ByRef datei As FileInfo, ByRef Namensvorschlag As String) As Boolean Using saveDialog As New SaveFileDialog saveDialog.AddExtension = True saveDialog.CheckPathExists = True saveDialog.FileName = Namensvorschlag saveDialog.DefaultExt = ".pdf" saveDialog.Filter = "pdf-Dateien (*.pdf)|*.pdf|Word Dateien (*.rtf)|*.rtf|Excel Dateien (*.xlsx)|*.xlsx" saveDialog.OverwritePrompt = True saveDialog.ValidateNames = True saveDialog.FilterIndex = 0 If saveDialog.ShowDialog() = DialogResult.OK Then datei = New FileInfo(saveDialog.FileName) Return True Else Return False End If End Using End Function Private Sub Viewer_LoadCompleted(sender As Object, e As EventArgs) Handles Viewer.LoadCompleted If speedPrint Then ' MsgBox("L") btnPrint.PerformClick() 'RemoveHandler Viewer.LoadCompleted, Viewer_LoadCompleted(Viewer, New EventArgs) speedPrint = False End If End Sub End Class