mshflexgrid to excel

1 отговора 122 прегледа
#1

mshflexgrid to excel

Долният код трябва да копира грида в ексел ама се скъса да ми дава
Automation.error някои може ли да ми каже къде е проблема

Private Sub Grid2Excel(gridName As MSHFlexGrid)

Dim exc As Excel.Application
Set exc = CreateObject("Excel.Application")
exc.Workbooks.Add
exc.Visible = True


With gridName


For i = 0 To .Rows - 1


For j = 1 To .Cols - 1
exc.Cells(i + 1, j) = .TextMatrix(i, j)
exc.Cells(i + 1, j).Borders.LineStyle = xlDouble
exc.Cells(i + 1, j).Borders.Color = vbBlue
Next j

Next i

exc.Range("A1:" & Chr(65 + j) & 1).Font.Bold = True
exc.Columns("$A:" & "$" & Chr(65 + j)).AutoFit
End With

End Sub





Отговор
в отговор на bate ivan #2

Re: mshflexgrid to excel

Опитай така:

Public Sub ExportFlexGrid(ByRef objGrid As MSFlexGrid)
Dim objXL As Excel.Application
Dim objWB As Excel.Workbook
Dim objWS As Excel.Worksheet
Dim r As Long
Dim c As Long
Dim intRed As Integer
Dim intGreen As Integer
Dim intBlue As Integer

Set objXL = New Excel.Application
Set objWB = objXL.Workbooks.Add
Set objWS = objWB.Worksheets(1)

With objWS
For r = 0 To objGrid.Rows - 1
For c = 0 To objGrid.Cols - 1
.Cells(r + 1, c + 1) = objGrid.TextMatrix(r, c)
Next
Next

.Cells.Columns.AutoFit
End With

objXL.Visible = True

Set objWS = Nothing
Set objWB = Nothing
Set objXL = Nothing

End Sub

След това когато поискаш извикваш това:

ExportFlexGrid FlexGrid1

Така трябва да стане...

Отговор