![]() |
Welche Office-Komponente?
Hallo,
wenn ich Daten nach Word/Excel übergeben möchte, gibt es ja für jede Office-Version (97/2000/XP) eigene Komponenten! Müsste ich jetzt für jede Office-Version eine eigene Komponente benutzen -und dementsprechend auch eigene Prozeduren schreiben-, oder kann ich z. B. mit der Word97-Komponente auch Word 2000 und Word XP steuern? Und wenn ich für jedes Office ne eigene Kompo benötige, wie kann ich ermitteln welche Office-Version installiert ist (oder ob Office überhaupt installiert ist!). Vielen Dank! Delphi-Coder |
Du musst die Office Komponenten nutzen, welche der Version entsprechen, die Du mind. unterstützen willst.
D.h. mit den Office 97 Kompos kannst Du auch 2000 und XP unterstützen. Mit den 2000 Kompos kannst Du 2000 und XP, nicht aber 97 unterstützen. Wenn Du die 97 Kompos nutzt, kannst Du zwar alle drei Office Versionen unterstützen, jedoch nur Funktionen nutzen, welche auch in 97 vorhanden sind. Neuere Funktionen kannst Du dann halt nicht nutzen. ...:cat:... |
Danke für die schnelle Antwort!
Da bleibt aber noch die Frage offen, wie ich ermitteln kann ob Office überhaupt installiert ist! Oder kann ich mir diese Abfrage sparen? Thx. Delphi-Coder |
Nimm doch einfach immer die Office 97-Kompos... Dann klappt es überall...
Chris |
Zitat:
|
Dann könnte man ja eventuell den Fehler abfangen (mit Try-Except) und eine Fehlermeldung ausgeben, dass gar kein Office installiert ist! Müsste doch gehen oder? Besser wäre natürlich es im Vorfeld zu bestimmen, ob Office installiert ist!
Delphi-Coder |
Kuck doch in der Registry mit welchen Programm der doc-Dateityp verbunden ist.
|
@Luckie: Man kann OpenOffice.org installiert haben und damit die Microsoft-Word-Dokumente bearbeiteten, aber trotzdem Word installiert haben...
|
Ja klar, deswegen soll er ja nicht nur kucken, ob die Dateiendung existiert, sondern auch mit welchem Programm der Dateityp verknüpft ist.
Ich habe ja auch geschrieben: Zitat:
Alles klar? :wink: |
Und was ist, wenn der User beides benutzt aber OpenOffice bevorzugt? Ich habe beides installiert und wenn ich ein Programm brauche, das mit Word arbeitet, dann benutze ich auch Word. Standardprogramm ist aber OpenOffice...
Insofern: Nichts klar ;-) |
Office wird sich doch irgendwo in die Registry schreiben. Machen doch alle Microsof-Produkte. Schau in deiner Registry mal nach, wo es ist, und dann stell ne VErmutung auf, ob man das nicht irgendwie (relativ oder absolut) verallgemeinern kann...
|
Hi,
yo, würde das auch mit ner typ...except - Abfrage machen. Geht das nicht einfach so?:
Code:
Ich hoffe das hilft weiter...
var Word : OLEVariant;
begin try Word := CreateOleObject('Word.Application'); except ShowMessage('Word kann nicht gestartet werden!'); Exit; end; WordWurdeGestartet := True; end; Gruß Yheeky |
Moin Zusammen,
da das Programm ja mit Word/Excel arbeiten soll, wäre es vielleicht am einfachsten zu Programmbeginn zu versuchen die Schnittstellen anzusprechen. Geht das, sind die erforderlichen Programme da, geht's nicht, eben nicht. Dann eine entsprechende Meldung bringen, oder einfach die damit zusammenhängenden Funktionen sperren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 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