LOCALIZAR ARQUIVO

RICOCARDOZO 18/06/2010 10:06:55
#345164
Olá a Todos .
Gostaria de criar uma rotina assim:
Executo o programa
Procura no diretorio system32 do windows XP/Vista/Seven se determinada ocx existe
Se existir:
Continua a Rodar o Programa.
Se não:
vai em um diretorio chamado Ocx copia esta ocx para o diretorio system32
JCARLOS 18/06/2010 10:21:13
#345166
Veja se isto te ajuda, é só adaptar pras pastas q vc desejar.

If Not File_Exists([Ô]c:\Windows\system\Comdlg32.ocx[Ô], False) _
And Not File_Exists([Ô]c:\Windows\system32\Comdlg32.ocx[Ô], False) Then
FileCopy App.Path & [Ô]\ComDlg32.dll[Ô], [Ô]C:\Windows\system\ComDlg32.dll[Ô]
FileCopy App.Path & [Ô]\ComDlg32.dep[Ô], [Ô]C:\Windows\system\ComDlg32.dep[Ô]
FileCopy App.Path & [Ô]\ComDlg32.ocx[Ô], [Ô]C:\Windows\system\ComDlg32.ocx[Ô]
Call Shell([Ô]regsvr32 ComDlg32.ocx[Ô], vbNormalFocus) [ô]registrar a ocx
endif

Function File_Exists(ByVal PathName As String, Optional Directory As Boolean) As Boolean
If PathName <> [Ô][Ô] Then
If IsMissing(Directory) Or Directory = False Then
File_Exists = (Dir$(PathName) <> [Ô][Ô])
Else
File_Exists = (Dir$(PathName, vbDirectory) <> [Ô][Ô])
End If
End If
End Function
EDERMIR 18/06/2010 10:22:09
#345167
Resposta escolhida
Wfile_check = [Ô]c:\windows\system32\BANANA.OCX[Ô]
On Error Resume Next
Wa = Dir(Wfile_check)
If Err.Number = 0 Then
msgbox([Ô]ACHEI !!![Ô])
Else
msgbox([Ô]NÃO ACHEI[Ô])
End If
Tópico encerrado , respostas não são mais permitidas