Rubrik: Controls · MSFlexGrid/DataGrid | VB-Versionen: VB6 | 10.01.11 |
Inhalt eines DataGrid an Excel übergeben Diese Funktion kopiert den Inhalt des DataGrid in ein neues Exceldokument. | ||
Autor: Dennis Hemken | Bewertung: | Views: 12.983 |
gadgets.hemken.org | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Dieser Tipp zeigt eine einfache Möglichkeit, wie sich der gesamte Inhalt eines DataGrid-Controls in ein neues Excel-Dokument einfügen lässt.
' Fügt den Inhalt des übergebenen Datagrid-Controls in ' ein neues Excel-Dokument ein und zeigt dieses an Public Function DatagridToExcel( _ ByRef dgdDataGrid As DataGrid) As Boolean Dim xlObject As Object ' Excel.Application Dim xlWB As Object ' Excel.Workbook Dim i As Integer ' Headline-Laufparameter ' Fehlerbehandlung On Error GoTo ErrHandler ' Excel Application öffnen Set xlObject = CreateObject("Excel.Application") ' New Excel.Application ' Workbook hinzufügen Set xlWB = xlObject.Workbooks.Add With xlObject.ActiveWorkbook.ActiveSheet ' Überschrift in die erste Zeile von Excel übergeben For i = 0 To dgdDataGrid.Columns.Count - 1 .Cells(1, i + 1).Value = dgdDataGrid.Columns.Item(i).Caption Next ' dann die Datenquelle des Datagrid an Excel in Zelle (A2) übergeben .Range("A2").copyfromrecordset dgdDataGrid.DataSource End With ' Excel sichtbar machen xlObject.Visible = True ' ####################### ' hier kann man dann noch ein paar Sachen machen, ' wie zum Beispiel die Exceldatei automatisch speichern... ' ####################### DatagridToExcel = True Exit Function ErrHandler: ' nur zur Vollständigkeit DatagridToExcel auf False setzen, ' denn normalerweise braucht man es nicht, da eine Funktion ' As Boolean (hier: DatagridToExcel) standardmäßig auf False ' gesetzt wird. DatagridToExcel = False MsgBox App.EXEName & " " & Err.Number & vbCrLf & Err.Description, vbCritical Debug.Print App.EXEName & " " & Err.Number & vbCrLf & Err.Description End Function