Entwickler-Ecke
Andere .NET-Sprachen - Word automatisieren
scholei - Di 20.09.05 14:32
Titel: Word automatisieren
Hallo,
ich schreibe eine VCL-Formularanwendung für .NET und benutze
Delphi 2005.
Nach dem ich die Automation über Microsoft.Office.Interop.Word
für Word XP in griff habe, bin ich auf das Problem der Abwärtskompatibilität gestoßen. Sobald ich Word 2000 oder niedriger versuche anzusteuern funktioniert das ganze nicht mehr.
Wie kann ich sicherstellen, dass alle Word Varianten angesteuert werden können?
Gruß
scholei
MisterBum - Di 20.09.05 14:55
Was heisst funktioniert nicht mehr??? Bitte etwas genauer...
Sollen wir Fehlerraten spielen???
scholei - Di 20.09.05 15:04
folgender Fehler tritt auf:
_Application faild
genauere Fehlerbeschreibung kann ich erst heute Abend schreiben, da ich momentan am Projekt sitze.
Gruß
scholei
scholei - Di 20.09.05 18:46
Hollo,
habe jetzt die korrekte Fehlermeldung:
Zitat: |
QueryInterface for interface Microsoft.Office.Interop.Word._Application failed |
auch noch mal als Dateianhang.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TFHauptformular.ButtonClick(Sender: TObject); var wordapp: Microsoft.Office.Interop.Word.Application; n : System.&Object;
begin wordapp:= Microsoft.Office.Interop.Word.Applicationclass.Create;
n:= System.Reflection.Missing.Value;
if (wordapp = nil) then begin ShowMessage('keine Verbindung!'); Exit; end;
wordapp.Visible:= true; wordapp.Documents.Open('C:\Datei.doc',n,n,n,n,n,n,n,n,n,n,n,n,n,n);
end; |
Moderiert von
Christian S.: Delphi-Tags hinzugefügt.
MisterBum - Mi 21.09.05 10:44
Versuch mal folgenden Code, obs mit dem funktioniert...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| try Word := GetActiveOleObject('Word.Application'); except try Word := CreateOleObject('Word.Application'); except MessageDlg('Microsoft Word konnte nicht gestartet werden!', mtError, [mbOk], 0); exit; end; end; Word.visible := true; |
scholei - Mi 21.09.05 11:22
Hallo
die
GetActiveOleObject('Word.Application');
CreateOleObject('Word.Application');
wird bei mir nicht erkannt. Da kommt der Fehler:
nicht deklarierter Bezeichner
obwohl ich ComObj eingebunden habe.
Gruß
scholei
MisterBum - Mi 21.09.05 11:33
Hast du denn die Variable deklariert?
scholei - Mi 21.09.05 11:42
Ja hab ich.
Klaus27 - Di 31.01.06 14:07
Vermutlich fehlt:
uses ..., ComObj, ...;
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!