Amigos, tenho um form que depende do Editor de Imagens IrFanView, caso não esteja instalado e com um diretório criado dentro dessa past gera erro na abertura do form.
Ao abrir criarei uma função que verificará o status de uma tabela: tblSistemasDependentes, onde haverá dois campos:
Campo1 = Nome do Sistema (texto)
Campo2 = Status da instalação (Sim/Não)
Onde na primeira execução terá como Status = Não, assim sendo emitirá MsgBox ao usuário requerendo autorização para instalá-lo.
Caso positivo executará a instalação do sistema que estará em um sub-diretório do sistema Access
Em seguida execua a criação de uma pasta dentro da pasta do IrfanView em Arquivos de programas.
Depois atualizo o status para sim, para que na próxima abertura não emita mais a mensagem.
Pergunto:
Como executar essa instalação através do VBA.
Posso utilizar o ShellExecute, mas seria necessário encerrar o form ou o access quando da instalação?
Eis protótipo do Código que estou fazendo.
Toda ideia é bem vinda.
Grato.
Ao abrir criarei uma função que verificará o status de uma tabela: tblSistemasDependentes, onde haverá dois campos:
Campo1 = Nome do Sistema (texto)
Campo2 = Status da instalação (Sim/Não)
Onde na primeira execução terá como Status = Não, assim sendo emitirá MsgBox ao usuário requerendo autorização para instalá-lo.
Caso positivo executará a instalação do sistema que estará em um sub-diretório do sistema Access
Em seguida execua a criação de uma pasta dentro da pasta do IrfanView em Arquivos de programas.
Depois atualizo o status para sim, para que na próxima abertura não emita mais a mensagem.
Pergunto:
Como executar essa instalação através do VBA.
Posso utilizar o ShellExecute, mas seria necessário encerrar o form ou o access quando da instalação?
Eis protótipo do Código que estou fazendo.
Private Sub Form_Open(Cancel As Integer)
If DLookup("Instalado", "tblSistemasDependentes", "SistemaDependente = 'IrFanView'") = 0 Then
Me.VerificaInstalacao
Else
End If
End Sub
Sub VerificaInstalacao()
Dim Instala As String
Dim nArquivo As String
Instala = MsgBox("È necessário a instalação do IrfanView antes de" _
& vbNewLine & "inicar este módulo." _
& vbNewLine & "" _
& vbNewLine & "Deseja instalar o aplicativo?", vbYesNo, "INSTALAÇÃO DO IrFanView")
Select Case Instala
Case vbYes
nArquivo = CurrentProject.Path & "\SistemasDependentes" & "iview433_setup.exe"
Call ShellExecute(0, vbNullString, nArquivo, vbNullString, vbNullString, 1)
CurrentDb.Execute "UPDATE tblSistemasDependentes set Instalado =1 WHERE SistemaDependente='IrFanView'"
' DoCmd.Close acForm, Me
Case vbNo
DoCmd.Close acForm, Me
End Select
End Sub
Toda ideia é bem vinda.
Grato.