AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OLE-Steuerung von Word: DoEvents

Ein Thema von ts-d · begonnen am 17. Dez 2020 · letzter Beitrag vom 17. Dez 2020
Antwort Antwort
ts-d

Registriert seit: 29. Apr 2008
42 Beiträge
 
#1

OLE-Steuerung von Word: DoEvents

  Alt 17. Dez 2020, 11:43
Hallo,

ich muss Word steuern und im Zeit geben, seine Befehle abzuarbeiten, bevor es den nächsten Befehl bekommt.
Darum wollte ich DoEvents aus Delphi2010 zwischendurch aufrufen.

var
WordObj: variant;

...

WordObj := UnAssigned;

try
WordObj := GetActiveOLEObject('Word.Application');
except
WordObj := CreateOleObject('Word.Application');
end;
WordObj.Visible := False;
WordObj.Documents.Add;

...

WordObj.DoEvents;


Delphi meldet dann: "Im Projekt ... ist eine Exception der Klasse EOleError mit der Meldung 'Die Methode 'DoEvents' wird vom Automatisierungsobjekt nicht unterstützt' aufgetreten."



Delphi meldet jedeoch

Geändert von ts-d (17. Dez 2020 um 12:00 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#2

AW: OLE-Steuerung von Word: DoEvents

  Alt 17. Dez 2020, 12:12
DoEvents ist eine VBA-Funktion und keine Funktion des OLE-Objektes von Word.
  Mit Zitat antworten Zitat
ts-d

Registriert seit: 29. Apr 2008
42 Beiträge
 
#3

AW: OLE-Steuerung von Word: DoEvents

  Alt 17. Dez 2020, 12:14
vielen Dank - gibt's denn irgendwo eine Übersicht, was nur VBA ist und was OLE-Befehle sind (so eine Art Liste mit genauer Syntax, da die ja oft anders ist als in VBA)?
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#4

AW: OLE-Steuerung von Word: DoEvents

  Alt 17. Dez 2020, 12:18
Wenn ich wissen will, was Word kann, schau ich in die Pas-Datei zur importierten Typelib.

Ansonsten frag' ich, wie gerade bei DoEvents, einfach die Suchmaschine meiner Wahl.

Bei Google suchenword ole doevents erstes Ergebnis
  Mit Zitat antworten Zitat
ts-d

Registriert seit: 29. Apr 2008
42 Beiträge
 
#5

AW: OLE-Steuerung von Word: DoEvents

  Alt 17. Dez 2020, 12:30
na ja, was meinst Du, wie ich auf dieses Forum gekommen bin?
Das mit der PAS-Datei ist gut. Wo finde ich die?

Oder kennst Du eventl. eine andere Möglichkeit, Word für die Abarbeitung der OLE-Befehle Zeit einzuräumen.

Bei mir passiert Folgendes: Auf einem Rechner funktioniert das Einfügen von Daten in eine Word-Tabelle. Auf dem anderen Rechner verschluckt Word einen Befehl und fügt die Daten ab einer bestimmten Tabellenzelle versetzt ein.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#6

AW: OLE-Steuerung von Word: DoEvents

  Alt 17. Dez 2020, 13:36
Bei meinem ollen Delphi 7 steht sie in InstallationsverzeichnisVonDelphi\OCX\Servers\Word<wordversion>.pas Ansonsten: In Delphi Typbibliothek von Word importieren, sollte im Installationsverzeichnis von Word sowas in der Art wie "MSWORD.OLB" sein.

Wenn Du Word fernsteuerst, solltest Du folgendes beachten:
Word darf nicht vom Anwender geöffnet sein.

Word sollte unsichtbar arbeiten. Die meiste Zeit geht bei der Darstellung des von Word ausgeführten auf dem Bildschirm drauf. Und das bringt (nach meiner Erfahrung) Word (und auch den Rest aus dem Officepaket) zuweilen arg ins Straucheln. (Ausgehend von Deinem Codeschnipsel scheint Word jedoch schon unsichtbar zu sein.)

Keinesfalls während der Fernsteuerung von Word nach Word wechseln, um zu sehen, ob es arbeitet. Das ging bei meinen Versuchen bisher immer schief.

Eine Möglichkeit, um eine Warteschleife ala while Word.IsBusy do Sleep(1000); zu realisieren, ist mir leider nicht bekannt.

Bei welchen Aufgaben der Wordfernsteuerung treten denn bei Dir konkret Probleme auf? Zeig' uns doch bitte mal entsprechende Codefragmente. Eventuell weiß ja jemand, wie man mit 'nem konkreten Problem umgehen kann.
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz