USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic    (Windows)

Título da Dica:  Abrindo arquivo com o programa associado
Postada em 27/6/2007 por Rafael Ávila      Clique aqui para enviar email para o autor  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

 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página