Verificando os aplicativos Office instalados

Para saber quais aplicativos office estão instalados na máquina do cliente faça o seguinte:

Inicie um novo projeto no Visual Studio.NET com as seguintes características (sinta-se a vontade para alterar a seu gosto.)

  1. Project Types : Visual Basic Projects
  2. Templates : Windows Forms
  3. Name : VerificaOffice
  4. Location : c:\vbnet \office

- Vamos ter de importar o namespaces abaixo:

Imports Microsoft.Win32

- a seguir definimos uma enumeração com o nome dos aplicativos office mais usados:

Public Enum MSApplications

   WORD

   ACCESS

   EXCEL

End Enum

 

- No formulário padrão - form1.vb - insira um botão de comando - button1 - e no evento Click do mesmo insira o seguinte código:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

 

Dim msg As String = ""

If isInstalled(MSApplications.WORD) Then

    msg = msg & " WORD "

End If

If isInstalled(MSApplications.ACCESS) Then

   msg = msg & " ACCESS "

End If

If isInstalled(MSApplications.EXCEL) Then

   msg = msg & " EXCEL "

End If

If msg = "" Then

   msg = " Não há aplicativos Office instalados !"

End If

 

MsgBox(" Aplicativos office instalados : " & msg, MsgBoxStyle.Information, "OFFICE")

End Sub

 

Estamos usando a função isInstalled() passando como parâmetro o nome da aplicação office que desejamos verificar se esta instalada.

Public Function isInstalled(ByVal App As MSApplications)

Dim strSubKey As String

Select Case App

Case MSApplications.ACCESS

     strSubKey = "Access.Application"

Case MSApplications.EXCEL

    strSubKey = "Excel.Application"

Case MSApplications.WORD

    strSubKey = "Word.Application"

End Select

 

Dim objKey As RegistryKey = Registry.ClassesRoot

Dim objSubKey As RegistryKey = objKey.OpenSubKey("Word.Application")

Return Not objSubKey Is Nothing

objKey.Close()

End Function

 

A função recebe o nome da aplicação e verifica o registro do Windows retornando True se a aplicação estiver instalada. Execute o projeto e , dependendo do seu caso poder obter :

Gostou ??? Até a próxima dica ...


José Carlos Macoratti