// Cria o link OLE com o OpenOffice
if VarIsEmpty(OpenOffice) then
OpenOffice := CreateOleObject('com.sun.star.ServiceManager');
Connect := not (VarIsEmpty(OpenOffice) or VarIsNull(OpenOffice));
// Inicia o Calc
OpenDesktop := OpenOffice.CreateInstance('com.sun.star.frame.Desktop');
cFile := 'file:///'+ExtractFilePath(ParamStr(0)) + 'Planilhas\Fluxo.sxc';
cFile := StringReplace(cFile, '\', '/', [rfReplaceAll]);
Calc := OpenDesktop.LoadComponentFromURL(cFile, '_blank', 0, VarArrayCreate([0, -1], varVariant));
//procura o handle do arquivo cFile pelo título, se não achar
//o programa procura por "título (somente leitura)"
// ShowMessage(cFile);
// ShowMessage(Copy(cFile,9,Length(cFile)-12));
AppHandle := FindWindow(Nil,PAnsiChar(Copy(cFile,9,Length(cFile)-12)+' - BrOffice.org Calc'));
if (AppHandle=0) then
AppHandle := FindWindow(Nil,PAnsiChar(Copy(cFile,9,Length(cFile)-12)+' (somente leitura) - BrOffice.org Calc'));
if (AppHandle=0) then
AppHandle := FindWindow(Nil,'Fluxo - BrOffice.org Calc');
//esconde a planilha
ShowWindow(AppHandle, SW_HIDE);