Rubrik: Controls · MSFlexGrid/DataGrid | VB-Versionen: VB6 | 17.03.10 |
Inhalt eines MSFlexgrid an Excel übergeben Diese Funktion kopiert den Inhalt des MSFlexgrid in ein neues Exceldokument. | ||
Autor: Dennis Hemken | Bewertung: | Views: 13.844 |
gadgets.hemken.org | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Unser heutiger Tipp zeigt eine einfache Möglichkeit, wie sich der gesamte Inhalt eines MSFlexGrid-Controls in ein neues Excel-Dokument einfügen lässt.
' Fügt den Inhalt des übergebenen FlexGrid-Controls in ' ein neues Excel-Dokument ein und zeigt dieses an Public Function MSFlexgridToExcel( _ ByRef FlexGrid As MSFlexGridLib.MSFlexGrid) As Boolean Dim xlObject As Object ' Excel.Application Dim xlWB As Object ' Excel.Workbook ' Fehlerbehandlung On Error GoTo ErrHandler ' Excel Application öffnen Set xlObject = CreateObject("Excel.Application") ' New Excel.Application ' Workbook hinzufügen Set xlWB = xlObject.Workbooks.Add ' Wichtig: die Zwischenablage löschen Clipboard.Clear With FlexGrid ' Zellen im MSFlexgrid markieren/selektieren .Col = 0 .Row = 0 .ColSel = .Cols - 1 .RowSel = .Rows - 1 ' markierte/selektierte Zellen an Zwischenablage übergeben Clipboard.SetText .Clip End With With xlObject.ActiveWorkbook.ActiveSheet ' Zelle A1 selektieren .Range("A1").Select ' Zwischenablage in die selektierte Zelle (A1) kopieren .Paste End With ' Excel sichtbar machen xlObject.Visible = True ' ####################### ' hier kann man dann noch ein paar Sachen machen, ' wie zum Beispiel die Exceldatei automatisch speichern... ' ####################### MSFlexgridToExcel = True Exit Function ErrHandler: ' nur zur Vollständigkeit MSFlexgridToExcel auf False setzen, ' denn normalerweise braucht man es nicht, da eine Funktion ' As Boolean (hier: MSFlexGridToExcel) standardmäßig auf False ' gesetzt wird. MSFlexgridToExcel = False MsgBox App.EXEName & " " & Err.Number & vbCrLf & Err.Description, vbCritical Debug.Print App.EXEName & " " & Err.Number & vbCrLf & Err.Description End Function