Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Check auf installiertes Word (https://www.delphipraxis.net/69016-check-auf-installiertes-word.html)

Robert Marquardt 9. Mai 2006 09:40


Check auf installiertes Word
 
Wie testet man am besten auf das Vorhandensein von Word?
Ich will Word zur Konversion von HTML in DOC und RTF nutzen und moechte die Menuepunkte enablen/disablen.

Im Augenblick teste ich auf die Existenz von HKEY_CURRENT_USER\Software\Microsoft\Office\Word in der Registry.

turboPASCAL 9. Mai 2006 09:55

Re: Check auf installiertes Word
 
Hilft dir das ?
http://www.dsdt.info/tipps/?id=599

xaromz 9. Mai 2006 09:56

Re: Check auf installiertes Word
 
Hallo,

versuch doch, Dir das COM-Objekt zu holen. Wenn das schiefgeht, dann gibt's kein Word.

Gruß
xaromz

Matze 9. Mai 2006 10:15

Re: Check auf installiertes Word
 
Moin,

im SDC ist dazu folgender Code.

Robert Marquardt 9. Mai 2006 10:17

Re: Check auf installiertes Word
 
Soll das bedeuten das bereits "Word := TWordApplication.Create(nil);" versagt wenn Word nicht installiert ist?

Edit:
Matze hat den richtigen Hinweis gegeben (richtig zumindest fuer meine Belange).
Test auf "HKEY_CLASSES_ROOT\Word.Application".

shmia 9. Mai 2006 10:43

Re: Check auf installiertes Word
 
Folgender Code ist "sauberer" als die bisherigen Vorschläge:
Delphi-Quellcode:
uses ...,ActiveX;

function ProgIDExists(const ProgID:WideString):Boolean;
var
   tmp : TGUID;
begin
   Result := Succeeded(CLSIDFromProgID(PWideChar(ProgID), tmp));
end;

// is WinWord installiert ?
function IsWordInstalled:Boolean;
begin
   result := ProgIDExists('Word.Application');
end;

Robert Marquardt 9. Mai 2006 10:58

Re: Check auf installiertes Word
 
Herzlichen Dank.
Das sollte ab in die Codelib.

Hier noch ein bischen aufgereinigt.
Delphi-Quellcode:
uses
  ActiveX;

function ProgIDExists(const ProgID: WideString): Boolean;
var
  Tmp: TGUID;
begin
  Result := Succeeded(CLSIDFromProgID(PWideChar(ProgID), Tmp));
end;

function IsWordInstalled: Boolean;
begin
  Result := ProgIDExists('Word.Application');
end;

Sharky 9. Mai 2006 11:04

Re: Check auf installiertes Word
 
Zitat:

Zitat von Robert Marquardt
... Das sollte ab in die Codelib. ...

Hai Robert,

oben Rechts bei jedem Beitrag gibt es diese "Glühbirnen"-Symbol. Damit kannst Du einen Beitrag für die Code-Library vorschlagen.
Die CodeLib-Manger bekommen dann eine Meldung und kümmern sich darum ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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