Autor Beitrag
Roadrunner25
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 89

Win XP
D7
BeitragVerfasst: Mo 23.07.07 13:58 
Hallo Zusammen!!!

Ich habe leider ein Problem mit einer Ole Automation!
Ich möchte gerne Daten aus einem StringGrid in ein Word Dokument übergeben. In diesem Dokument befinden sich allerdings schon ausgefüllte Textformularfelder, die nicht verrückt werden sollen.

Die Tabelle soll nun unter den Textformularfelder eingefügt werden! Bis jetzt verschiebt die Tabelle jedoch die Formularfelder!

Habe hier im Forum etwas über Textmarken und dem Range Befehl gelesen und versuche das nun umzusetzen...leider bekomme ich immer Fehler.....


Weis jemand, wo der Fehler liegt?

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
procedure TForm1.bergabean1Click(Sender: TObject);
var
iRows, iCols, iGridRows, jGridCols : Integer;
BookMarkName, R :OleVariant;
begin

word1 := CreateOleObject('Word.Application');

word1.Visible := True;


 word1.Documents.Open(FileName := ExtractFilePath(Paramstr(0)) + 'daten_DIN.doc')

 word1.ActiveDocument.FormFields.Item('Text1').Result := Edit16.Text;
 word1.ActiveDocument.FormFields.Item('Text2').Result := Edit14.Text;
 word1.ActiveDocument.FormFields.Item('Text3').Result := Edit15.Text;
 word1.ActiveDocument.FormFields.Item('Text4').Result := Edit17.Text;
 word1.ActiveDocument.FormFields.Item('Text5').Result := Edit18.Text;
 word1.ActiveDocument.FormFields.Item('Text6').Result := Edit1.Text;
 word1.ActiveDocument.FormFields.Item('Text7').Result := Edit2.Text;
 word1.ActiveDocument.FormFields.Item('Text8').Result := Edit3.Text;
 word1.ActiveDocument.FormFields.Item('Text9').Result := Edit4.Text;
 word1.ActiveDocument.FormFields.Item('Text10').Result := Edit5.Text;
 word1.ActiveDocument.FormFields.Item('Text11').Result := Edit6.Text;
 word1.ActiveDocument.FormFields.Item('Text12').Result := Edit7.Text;
 word1.ActiveDocument.FormFields.Item('Text13').Result := Edit11.Text;
 word1.ActiveDocument.FormFields.Item('Text14').Result := Edit19.Text;
 word1.ActiveDocument.FormFields.Item('Text15').Result := Edit8.Text;

 Chart1.CopyToClipboardBitmap;

 iCols := StringGrid1.ColCount;
 iRows := StringGrid1.RowCount;

    BookmarkName := 'Messwerte';                             //Habe versucht, die Textmarke hierüber anzusteuern,
                                                             //geht aber nicht....
    if Word1.Bookmarks.Exists(BookmarkName) then
   
    begin

      R := Word1.Bookmarks.Item(BookmarkName).Range;
      
      R.Insert;


   WordTable := NewDoc.Tables.Add(Word1.Selection.Range,iRows,iCols);

  for iGridRows := 1 to iRows do
    for jGridCols := 1 to iCols do

    WordTable.Cell(iGridRows, jGridCols).Range.Text :=
      StringGrid1.Cells[jGridCols-1, iGridRows - 1];

end;
Roadrunner25 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 89

Win XP
D7
BeitragVerfasst: Fr 27.07.07 10:39 
Ok, hat sich erledig, bin auf eine Lösung gekommen!