quinta-feira, 17 de janeiro de 2008

O Word ou o Excel estão instalados ?

Quem utiliza a tecnologia OLE com o Microfocus NetExpress sabe da infinidade de recursos que tem em mãos, para manipular instâncias do Word ou do Excel, por exemplo. Mas o desenvolvedor ao distribuir suas aplicações, pode encontrar pela frente alguns micros que não possuem esses programas instalados. Com um método bem simples, o incômodo com algumas mensagens de erro do NetExpress pode ser evitado.

Em seu programa, na class-control, defina a classe a seguir:

class-control.
....OLESup is class "olesup"

Na working-storage section, defina a seguinte variável:

77 wsResult pic 9(09) comp-5 value zeros.

Na procedure division, coloque os seguintes comandos antes de tentar criar instâncias do Word, por exemplo:

invoke OLESup "isServerRegistered" using z"Word.Application"
returning wsResult
if wsResult not = zeros
....display "O Word não está instalado nesse micro."
....stop run
end-if

Se o resultado for "zero" na váriável wsResult, então é porque o Word está realmente instalado no micro. Caso contrário, você pode então informar ao usuário que o Word não está instalado no micro em questão.

Nenhum comentário: