Imports System.IO Imports DocumentFormat.OpenXml.Drawing.Charts Imports VERAG_PROG_ALLGEMEIN Public Class frmImportFromAVISOAnhaenge Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim AvisoId As Integer = -1 Dim SendungID As Integer = -1 Public LIST_FILES As New List(Of String) Sub New(avisoId, sendungId) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() Me.AvisoId = avisoId Me.SendungID = sendungId ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. End Sub Sub New(aviso As VERAG_PROG_ALLGEMEIN.cAviso, sendung As cSendungen) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() If aviso IsNot Nothing Then Me.AvisoId = aviso.AvisoID End If If sendung IsNot Nothing Then Me.SendungID = sendung.tblSnd_SendungID End If Me.SendungID = SendungID ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. End Sub Private Sub frmImportFromAVISOAnhaenge_Load(sender As Object, e As EventArgs) Handles Me.Load initAnhang() End Sub Sub initAnhang() If AvisoId <= 0 Then Exit Sub If SendungID <= 0 Then Exit Sub Dim hSQL As String = " SELECT [anh_id],[anh_Name],anh_Datum,[anh_docId],CASE WHEN (anh_SendungsId is null OR anh_SendungsId <=0) AND isnull(aa_name,'')='' THEN '***' ELSE [aa_name] END as [anh_Art],[anh_Typ] FROM [tblAvisoAnhaenge] left join tblAvisoAnhangsArten on aa_bezeichnung = anh_Art WHERE anh_AvisoId=" & AvisoId & " AND (anh_SendungsId is null OR anh_SendungsId <=0 OR anh_SendungsId=" & SendungID & ") ORDER BY anh_SendungsId desc, case when aa_sort = NULL THEN 15 else aa_sort END, [anh_Reihenfolge],[anh_id]" dgvAnhang.DataSource = SQL.loadDgvBySql(hSQL, "AVISO") If dgvAnhang.RowCount = 0 Then dgvAnhang.Columns.Clear() : Exit Sub With dgvAnhang .RowTemplate.Height = 35 '.RowTemplate.MinimumHeight = 30 .AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells .Columns("anh_id").Visible = False 'VermerkID nicht anzeigen .Columns("anh_docId").Visible = False 'AvisoID nicht anzeigen .Columns("anh_Name").MinimumWidth = 150 .Columns("anh_Name").HeaderText = "Name" .Columns("anh_Name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .Columns("anh_Datum").Width = 120 .Columns("anh_Datum").HeaderText = "Datum" .Columns("anh_Art").MinimumWidth = 100 .Columns("anh_Art").HeaderText = "Art" .Columns("anh_Art").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter .Columns("anh_Typ").Width = 150 .Columns("anh_Typ").HeaderText = "Typ" .Columns("anh_Typ").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter .ClearSelection() End With End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click If dgvAnhang.SelectedRows.Count = 0 Then Exit Sub LIST_FILES.Clear() For Each r In dgvAnhang.SelectedRows Dim docId As Integer = CInt(r.cells("anh_docId").value) If docId > 0 Then Dim tempFile As String = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(docId) If tempFile <> "" Then LIST_FILES.Add(tempFile) End If End If Next If LIST_FILES.Count > 0 Then Me.DialogResult = DialogResult.OK Me.Close() Else Me.DialogResult = DialogResult.None End If End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim fd As New OpenFileDialog With { .Filter = "Excel Dateien|*.xls;*.xlsx", .Multiselect = True, .Title = "Bitte eine oder mehrere Excel-Dateien auswählen" } Dim result As DialogResult = fd.ShowDialog() If result <> DialogResult.OK Then Me.Cursor = Cursors.Default MsgBox("Keine Datei ausgewählt!") Me.DialogResult = DialogResult.None Exit Sub Else For Each filePath As String In fd.FileNames If Not filePath.ToLower.EndsWith(".xls") AndAlso Not filePath.ToLower.EndsWith(".xlsx") Then ' Ungültige Datei – überspringen oder abbrechen Continue For End If LIST_FILES.Add(filePath) Next If LIST_FILES.Count > 0 Then Me.DialogResult = DialogResult.OK Me.Close() Else Me.DialogResult = DialogResult.None End If End If End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim data As IDataObject = Clipboard.GetDataObject For Each s As String In My.Computer.Clipboard.GetFileDropList() 'GetData(DataFormats.) 'data.GetData(DataFormats.FileDrop) 'DataFormats.FileDrop) If System.IO.File.Exists(s) Then LIST_FILES.Add(s) End If Next If LIST_FILES.Count > 0 Then Me.DialogResult = DialogResult.OK Me.Close() Else Me.DialogResult = DialogResult.None End If End Sub End Class