Ciao a tutti ragazzi sto cercando di copiare l'intero contenuto di una flexgrid in un foglio di excel al momento ho fatto così
codice:
Dim xlObject As Excel.Application
Dim xlWB As Excel.Workbook
Set xlObject = New Excel.Application
Set xlWB = xlObject.Workbooks.Add
Clipboard.Clear 'Clear the Clipboard
With FlxGd
'Select Full Contents (You could also select partial content)
.Col = 0 'From first column
.Row = 0 'From first Row (header)
.ColSel = .cols - 1 'Select all columns
.RowSel = .Rows - 1 'Select all rows
Clipboard.SetText .Clip 'Send to Clipboard
End With
With xlObject.ActiveWorkbook.ActiveSheet
.Range("A1").Select 'Select Cell A1 (will paste from here, to different cells)
.Paste 'Paste clipboard contents
End With
For x = 1 To 144
FlxGd.Row = x
FlxGd.Col = 1
Range("B" & x).Interior.Color = FlxGd.CellBackColor
Next x
'Range("A1").Interior.Color = ???
xlObject.Visible = True
In questo codice ho due problemi:
1. Non riesco a colorare le celle del colore di ogni cella della flexgrid, perchè ogni cella varia di colore.
2. In alcune celle ho effettuato dei merge cioè degli unisci e centra, ma al momento della copia in excel io non ottengo lo stesso risultato, ma bensì la copia del testo in tutte le celle che avevo effettuato il merge. Per farvi capire meglio, ipotizziamo che nella cella A1 e A2 della flex io ho fatto un merge dove c'è scritto "ciao". In excel io avrò nella cella A1 = "ciao" e A2 = "ciao". Mentre io vorrei che il testo sia scritto solo una volta come nella flex.
Vi sono grato anticipatamente per il vostro aiuto. Se mi sono espresso male in qualche concetto ditemelo pure che vedrò di espriremere meglio la frase
grazie