Entwickler-Ecke

Sonstiges (Delphi) - Word per Ole


Bronstein - Di 09.08.11 12:55
Titel: Word per Ole
Hallo,
ich habe Probleme mit dem folgenden Codeausschnitt.

Der Code funktioniert wenn ich das Programm im debugger Schritt für Schritt durchgehe. Wenn ich ihn aber automatisch ausführen lasse, dann spring er immer in den Exception-Block.

Hatte den Codes damals für Office97 erstellt und mit dem Office funktioniert er auch nicht mit Office 2010 bekomme ich aber immer folgende Fehlermeldung:Das angeforderte Element ist nicht in der Sammlung vorhanden





Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
WordApplication.Selection.TypeText(Text := AdoQuery1.FieldByName('Beurteilungskriterium').AsString);
        WordApplication.Selection.MoveDown;
        WordApplication.Selection.TypeParagraph;  //Enter

        WordApplication.ActiveDocument.Tables.Add(Range:=WordApplication.Selection.Range, NumRows:=1, NumColumns:=1);

        sleep(2000);
        Application.ProcessMessages;

        try
          WordApplication.ActiveDocument.Tables.Item(AdoQuery1.FieldByName('BeurteilungsID').AsInteger+1+Tabellenindex).Columns.Item(1) .Width := 460;
        except
          on e: Exception do
            ShowMessage(e.Message);
        end;
        WordApplication.Selection.Font.Size := 8;
        WordApplication.Selection.MoveUp;

        WordApplication.Selection.Delete; //Leerzeile wieder löschen



Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am Di 09.08.2011 um 13:11


Sinspin - Di 09.08.11 20:15

Hast Du Sleep(2000) jetzt erst wegen der Fehlersuche eingebaut oder ist das alt? Die Fehlermeldung klingt auf jeden Fall so als würde durch einem anderen Thread etwas bereitgestellt werden. Es kann aber auch bedeuten das sich die Stuktur des Interfaces geändert hat und du versuchst auf etwas zuzugreifen das zwar in deiner Implementierung noch vorhanden ist, das Interface aber nicht mehr anbietet. Wobei, dann sollte die Meldung Englisch sein.
Versuch: stell mal Sleep auf 10/20/30 Sekunden, geht es dann oder gleiches Problem?


Lemmy - Mi 10.08.11 11:31

Hi,

verwendest Du auch die Office97-Komponenten für diese Sourcen? SChon mal aktuellere versucht? ggf. die WrapperUnits von Office 2010 erstellen lassen und nachgeschaut ob sich am Interface was verändert hat?

Grüße