Mega Code Archive

 
Categories / Delphi / Activex OLE
 

Export a TStringGrid to a MS Word table

Title: export a TStringGrid to a MS Word table? uses ComObj; procedure TForm1.Button1Click(Sender: TObject); var WordApp, NewDoc, WordTable: OLEVariant; iRows, iCols, iGridRows, jGridCols: Integer; begin try // Create a Word Instance // Word Instanz erzeugen WordApp := CreateOleObject('Word.Application'); except // Error... // Fehler.... Exit; end; // Show Word // Word anzeigen WordApp.Visible := True; // Add a new Doc // Neues Dok einfügen NewDoc := WordApp.Documents.Add; // Get number of columns, rows // Spalten, Reihen ermitteln iCols := StringGrid1.ColCount; iRows := StringGrid1.RowCount; // Add a Table // Tabelle einfügen WordTable := NewDoc.Tables.Add(WordApp.Selection.Range, iCols, iRows); // Fill up the word table with the Stringgrid contents // Tabelle ausfüllen mit Stringgrid Daten for iGridRows := 1 to iRows do for jGridCols := 1 to iCols do WordTable.Cell(iGridRows, jGridCols).Range.Text := StringGrid1.Cells[jGridCols - 1, iGridRows - 1]; // Here you might want to Save the Doc, quit Word... // Hier evtl Word Doc speichern, beenden... // ... // Cleanup... WordApp := Unassigned; NewDoc := Unassigned; WordTable := Unassigned; end;