whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1541)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (126)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (266)
VCL (242)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

55 Visitors Online


 
...export a TStringGrid to a MS Word table?
Autor: Thomas Stutz
[ Print tip ]  

Tip Rating (24):  
     


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;


 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners