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


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
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
Така трябва да стане...
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
Така трябва да стане...