|
|
|
|
|
Dicas
|
|
Visual Basic (Windows)
|
|
|
Título da Dica: Abrindo arquivo com o programa associado
|
|
|
|
Postada em 27/6/2007 por Rafael Ávila
rafael.nitro@gmail.com
'Este comando abre ou dá o erro específico, quando queremos que o VB rode um 'arquivo de qualquer extensão, mesmo sem saber se o usuário tem o aplicativo 'instalado, este código já da erro...
'no módulo Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
'no FORM, crie um command button Private Sub cmdHelp_Click()
Dim nomearq$, a, resultado
nomearq$ = "Cálculo.doc" 'nome do arquivo para rodar 'se existe o arquivo If Dir$(nomearq, vbArchive) <> "" Then 'Procura o executável dele a = FindExecutable(nomearq, App.Path, resultado) Select Case a Case 0: MsgBox "Memória insuficiente para realizar esta operação", vbCritical Case 31: MsgBox "Não há nenhum aplicativo associado para essa extensão <.pdf>", vbInformation Case "ERROR_FILE_NOT_FOUND": MsgBox "Arquivo especificado não pôde ser encontrado.", vbInformation Case "ERROR_PATH_NOT_FOUND": MsgBox "Caminho não encontrado.", vbInformation Case "ERROR_BAD_FORMAT": MsgBox "Executável inválido (non-Win32 .exe or error in .exe).", vbInformation Case Else 'se não deu nenhum erro, abre o arquivo ShellExecute a, "open", nomearq, "/open", App.Path, 0 End Select Else MsgBox "Arquivo especificado não pôde ser encontrado." & Chr(10) & nomearq, vbInformation End If
End Sub
|
|
|
|
|