Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Как проверить инсталлирован ли MS Word?


Автор: Pakshin A. S. 10.11.2004, 20:10
Код

uses 
  ..., Registry; 

function IsMicrosoftWordInstalled: Boolean; 
var 
  Reg: TRegistry; 
  S: string; 
begin 
  Reg := TRegistry.Create; 
  with Reg do 
  begin 
    RootKey := HKEY_CLASSES_ROOT; 
    Result := KeyExists('Word.Application'); 
    Free; 
  end; 
end; 



--------------------------------------------------------------------------------



Код

function MSWordIsInstalled: Boolean; 
begin 
  Result := AppIsInstalled('Word.Application'); 
end; 

function AppIsInstalled(strOLEObject: string): Boolean; 
var 
  ClassID: TCLSID; 
begin 
  Result := (CLSIDFromProgID(PWideChar(WideString(strOLEObject)), ClassID) = S_OK) 
end; 




--------------------------------------------------------------------------------


Как определить установлен ли на компьютере Word, запустить его и загрузить в него текст из программы?  

Пример:  

Код

var 
 MsWord: Variant; 
... 
try 
 // Если Word уже запущен 
 MsWord := GetActiveOleObject('Word.Application'); 
 // Взять ссылку на запущенный OLE объект 
 except 
  try 
  // Word не запущен, запустить 
  MsWord := CreateOleObject('Word.Application'); 
  // Создать ссылку на зарегистрированный OLE объект 
  MsWord.Visible := True; 
   except 
    ShowMessage('Не могу запустить Microsoft Word'); 
    Exit; 
   end; 
  end; 
 end; 
... 
MSWord.Documents.Add; // Создать новый документ 
MsWord.Selection.Font.Bold := True; // Установить жирный шрифт 
MsWord.Selection.Font.Size := 12; // установить 12 кегль 
MsWord.Selection.TypeText('Текст'); 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)