Cara, isso aparentemente é simples... Dá uma olhada nesse código que eu fiz... Dim Campos(2) As String
Campos(0) = "Produto,020"
Campos(1) = "Cliente,015"
Você define os campos do cabeçalho em um array...
Depois efetua a chamada da MontaGrid da seguinte forma:
Call MontaGrid(FlexGrid, 8, Campos)
E eis a rotina MontaGrid.
Public Sub MontaGrid(FlexGrid As MSFlexGrid, numCols As Integer, Campos As Variant)
FlexGrid.Rows = 1
FlexGrid.Row = 0
For I = 0 To numCols - 1
FlexGrid.Cols = numCols
FlexGrid.Col = I
FlexGrid.Text = Left(Campos(I), Len(Campos(I)) - 4)
FlexGrid.ColWidth(I) = CInt(Right(Campos(I), 3)) * 100
Next
End Sub
Simples assim...
Você define a largura de suas colunas...
Espero ter ajudado...
E quanto a centralizar é simples...
FlexGrid.FormatString = "^|^" As strings de formatação são: Esquerda: < Direita: > Centro: ^ E o pipe (essa barrinha em pé :lol: |) representa as divisões entre as colunas. Abraço! :D