AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit OLE Zugriff auf Word

Ein Thema von Frulle · begonnen am 1. Sep 2005 · letzter Beitrag vom 8. Sep 2005
Antwort Antwort
Frulle

Registriert seit: 23. Dez 2004
6 Beiträge
 
Delphi 7 Professional
 
#1

Problem mit OLE Zugriff auf Word

  Alt 1. Sep 2005, 22:47
Hallo,

Ich habe folgendes Problem und hoffe, das ich hier Hilfe finden kann.
Ich greife von Delphi aus über die WordApplication Komponente auf Word zu. Hier der entsprechende Quellcode:

Delphi-Quellcode:
WordApplication1.Connect;
try
WordApplication1.Documents.Open(Filename, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
Filetyp := wdFormatHTML; // doc --> html
Outfile:= word_file_out; // Speicherpfad
WordDocument1.SaveAs(Outfile,Filetyp); // Speichert die Datei als html-Datei ab
WordDocument1.Close;
WordDocument1.Disconnect;
finally
WordApplication1.Quit;
WordApplication1.Disconnect;
end;
Das Problem ist nun, dass dieser Zugriff mal funktioniert und mal nicht, und (in meinen Augen) komplett zufallsabhängig. Mal kann ich den Codeschnippsel 10 mal nacheinander aufrufen, danach gibt er mir jedes zweite Mal einen Fehler aus.

Die Fehlermeldungen wechseln sich dabei ab (auch wenn ich das ganze Programm vorher resette, die Prozedur also nicht schon lief):

Zitat:
Der RPC-Server ist nicht verfügbar.
Zitat:
Exception EOleException in Modul Project1.exe bei 000B7E8B.
Der RPC-Server ist nicht verfügbar.
Zitat:
Der Remoteprozeduraufruf ist fehlgeschlagen.
Word selbst ist standartmäßig deaktiviert. Ich habe schon diverse Versuche unternommen, aber es bleibt ein Glücksspiel - mal startet er, mal nicht.
Hat jemand eine Idee woran das liegen könnte und wie ich das verhindern kann?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Problem mit OLE Zugriff auf Word

  Alt 2. Sep 2005, 08:13
Evtl ähnliches Problem mit Excel. Lösung ist mein letztes Post.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Frulle

Registriert seit: 23. Dez 2004
6 Beiträge
 
Delphi 7 Professional
 
#3

Re: Problem mit OLE Zugriff auf Word

  Alt 3. Sep 2005, 12:18
Hi,

ich konnte diese Lösung nicht auf mein Beispiel übertragen,
exel steuert sich ganz anders an als word.
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: Problem mit OLE Zugriff auf Word

  Alt 3. Sep 2005, 12:41
Hallo

mit der RPC-Fehlermeldung habe ich auch öfters Problemchen. Bei mir liegts an den unterschiedlichen connect und disconnect-aufrufen und gewaltsammes Beenden von Word. Zu jedem connect muß es auch ein disconnect geben. du kannst dich nicht wieder vebinden, wenn ein disconnect vorher gefehlt hat.

Ich würde das WordApplication1.Quit; aus dem finally-Block rausnehmen und die ganzen Bearbeitungsschritte evtl noch in ein try except. Wenn du Word nicht beenden kannst, siehst du nie das disconnect.
Ich kanns jetzt nicht probieren, aber Saveas: was ist, wenn die Datei schon existiert? gibts da eine Nachfrage von Word bzw eine Option, die Nachfrage bei saveas zu verhindern? Wenn du eine Fehlermeldung siehst, gehts an der Stelle nicht weiter, Word kannst du evtl nicht beenden, da noch ein geändertes Dok offen ist und das disconnect siehst du nicht. und bei close kannst du evtl. noch savechanges=false übergeben.

Mfg Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Frulle

Registriert seit: 23. Dez 2004
6 Beiträge
 
Delphi 7 Professional
 
#5

Re: Problem mit OLE Zugriff auf Word

  Alt 8. Sep 2005, 18:03
@Keldorn: Habe versucht deinen Vorschlägen zu folgen, aber ich glaube mittlerweile das ich das Problem nicht in den Griff bekommen kann. Es tritt selbst dann auf, wenn ich nur leere Dokumente öffne und wieder schließen möchte ohne das diese in weitere Prozesse eingebunden sind.

Trotzdem danke für die Antworten

Gruß

Frulle
  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 17:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz