Ciao a tutti,
creo una tabella in word in questo modo:
la popolo con i dati presenti in un MSFlexGrid dopo una query in questo modo:codice:Private Sub Command4_Click() Dim WordApp As Object Set WordApp = New Word.Application WordApp.Documents.Open App.Path & "\Carta_intestata.doc" WordApp.Visible = True With WordApp.Selection .Tables.Add WordApp.Selection.Range, 1, 7 .Tables(1).Columns.AutoFit .Tables(1).Borders.Enable = True End With End Sub
tutto bene fin qui... ma c'è un modo per aggiungere alla tabella di word un tot di righe per quanti sono i record trovati dalla query sulla MSflexGrid?codice:.Tables(1).Cell(2, 1).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 2) & "" .Tables(1).Cell(2, 2).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 3) & "" .Tables(1).Cell(2, 3).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 8) & "" .Tables(1).Cell(2, 4).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 9) & "" .Tables(1).Cell(2, 5).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 10) & "" .Tables(1).Cell(2, 6).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 17) & "" .Tables(1).Cell(2, 7).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 19) & ""
Mi spiego meglio:
se facendo la query, viene trovato e visualizzato nel MSFlexGrid un solo record allora il codice qui sopra va bene...ma se la query trova più records come faccio ad aggiungere alla tabella tante righe (rows) per quanti sono i record trovati?
se aumento il numero di righe in queto punto:
poi mi lascia ad esempio 7 righe vuote se la query mi trova solo 3 records e non va bene in quanto la tabella dev'essere rapportata al contenuto. Come posso fare? :master:codice:.Tables.Add WordApp.Selection.Range, 10, 7
inoltre per aggiungere i records alla tabella devo ogni volta ripetere la stessa procedura cambiando il numero di riga e colonna ?![]()
Esempio:
o c'è un modo più veloce ed automatico?codice:.Tables(1).Cell(2, 1).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 2) & "" .Tables(1).Cell(2, 2).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 3) & "" .Tables(1).Cell(2, 3).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 8) & "" .Tables(1).Cell(2, 4).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 9) & "" .Tables(1).Cell(2, 5).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 10) & "" .Tables(1).Cell(2, 6).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 17) & "" .Tables(1).Cell(2, 7).Range.Text = " " & MSFlexGrid1.TextMatrix(1, 19) & "" .Tables(1).Cell(3, 1).Range.Text = " " & MSFlexGrid1.TextMatrix(2, 2) & "" .Tables(1).Cell(3, 2).Range.Text = " " & MSFlexGrid1.TextMatrix(2, 3) & "" .Tables(1).Cell(3, 3).Range.Text = " " & MSFlexGrid1.TextMatrix(2, 8) & "" .Tables(1).Cell(3, 4).Range.Text = " " & MSFlexGrid1.TextMatrix(2, 9) & "" .Tables(1).Cell(3, 5).Range.Text = " " & MSFlexGrid1.TextMatrix(2, 10) & "" .Tables(1).Cell(3, 6).Range.Text = " " & MSFlexGrid1.TextMatrix(2, 17) & "" .Tables(1).Cell(3, 7).Range.Text = " " & MSFlexGrid1.TextMatrix(2, 19) & ""![]()
Spero di essere stato chiaro nella descrizione di ciò che voglio fare...e scusate la scocciatura!!!![]()

Rispondi quotando
