Inhalt eines MSFlexgrid an Excel übergeben

Geschrieben von admin am 17. März 2010 | Abgelegt unter Veröffentlichungen

Tipp vom 17.03.2010

Dieser Tipp zeigt eine einfache Möglichkeit, wie sich der gesamte Inhalt eines MSFlexGrid-Controls in ein neues Excel-Dokument einfügen lässt.
Code:

‘ 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

Sie können hier bei vbarchiv.net für mich voten!

Trackback URI | Kommentare als RSS

Einen Kommentar schreiben

Du musst angemeldet sein, um einen Kommentar zu schreiben.