MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    [Resolvido]Programa padrão

    leoni_dias
    leoni_dias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 14/08/2011

    [Resolvido]Programa padrão Empty [Resolvido]Programa padrão

    Mensagem  leoni_dias 20/4/2018, 18:55

    Bom dia, senhores.

    Gostaria de, usando um código, saber se existe um programa padrão instalado para abrir um tipo de arquivo.

    Ex.: Usando um código para ver se um arquivo, tipo PDF, pode ser aberto, se tem programa para esse arquivo instalado e qual o programa.

    Via vb talvez, já que uso o access 2003.

    Obrigado.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Programa padrão Empty Re: [Resolvido]Programa padrão

    Mensagem  Noobezinho 20/4/2018, 21:04

    Leoni

    Tem vários softwares que abrem arquivos .pdf.

    A começar pelo Acrobat Reader, Foxit Reader, entre outros.

    Como são muitos programas, fica difícil programar um algoritmo para verificar

    qual programa está instalado em um computador.

    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    leoni_dias
    leoni_dias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 14/08/2011

    [Resolvido]Programa padrão Empty Re: [Resolvido]Programa padrão

    Mensagem  leoni_dias 20/4/2018, 22:50

    Boa noite.

    Por isso eu citei pra verificar o programa que o windows associou à determinada extensão, o programa padrão.

    Fiz da forma abaixo. Funciona perfeitamente, mas tá dando erro ao fechar o access.


    'Em um módulo
    Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
    '----------------------------------------------------------------------------------------------------
    'Em um evento do form ou botão
    Dim nomearq$, a, resultado
    nomearq$ = "INSTALADOR.pdf"
    a = FindExecutable(nomearq, CurrentProject.PATH, resultado)
    Select Case a
    Case 0 ': MsgBox "Memória insuficiente para realizar esta operação", vbCritical
    extenso = "Memória insuficiente"
    Case 31 ': MsgBox "Não há nenhum aplicativo associado para essa extensão <.pdf>", vbInformation
    extenso = "Não há nenhum aplicativo associado"
    Case 2 ': MsgBox "Arquivo especificado não pôde ser encontrado.", vbInformation
    extenso = "Arquivo especificado não pôde ser encontrado"
    Case 3 ': MsgBox "Caminho não encontrado.", vbInformation
    extenso = "Caminho não encontrado."
    Case 5 ': MsgBox "Executável inválido (non-Win32 .exe or error in .exe).",
    extenso = "Executável inválido"
    Case Else 'se não deu nenhum erro, abre o arquivo
    extenso = "Existe programa para o arquivo"
    End Select
    Jungli
    Jungli
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 715
    Registrado : 07/05/2010

    [Resolvido]Programa padrão Empty Re: [Resolvido]Programa padrão

    Mensagem  Jungli 20/4/2018, 22:52

    Boas,

    se a questão é apenas abrir um pdf,
    independente do programa instalado em sua máquina,

    este exemplo deve lhe servir.


    .................................................................................
    "Somos o que repetidamente fazemos.
    A excelência, portanto, não é um feito,
    mas um hábito."

    Aristóteles
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Programa padrão Empty Re: [Resolvido]Programa padrão

    Mensagem  Noobezinho 20/4/2018, 23:03

    Glicerio

    Muito bom esse teu exemplo.

    Com poucas linhas ele abre o programa padrão para o arquivo.

    Detalhe, eu tenho no computador o Foxit Reader Portable (Não precisa instalar).

    Como eu o defini como programa padrão para arquivos.pdf, abre legal. Wink

    [ ]'s



    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    leoni_dias
    leoni_dias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 14/08/2011

    [Resolvido]Programa padrão Empty Re: [Resolvido]Programa padrão

    Mensagem  leoni_dias 20/4/2018, 23:36

    Boa noite.

    Parece que o problema foi sanado. Tirei a declaração do módulo e coloquei no próprio form.

    Obrigado

    '--------------------------------------------------------------
    'Colocar nas declarações do prório form
    Private Declare Function FindExecutable Lib "shell32" _
    Alias "FindExecutableA" _
    (ByVal lpFile As String, _
    ByVal lpDirectory As String, _
    ByVal sResult As String) As Long

    Private Const MAX_PATH As Long = 260
    Private Const ERROR_FILE_NO_ASSOCIATION As Long = 31
    Private Const ERROR_FILE_NOT_FOUND As Long = 2
    Private Const ERROR_PATH_NOT_FOUND As Long = 3
    Private Const ERROR_FILE_SUCCESS As Long = 32 'my constant
    Private Const ERROR_BAD_FORMAT As Long = 11
    '---------------------------------------------------------------------------


    '---------------------------------------------------------------------------
    'Usar em um botão ou evento do form. O restante do código, mudar a gosto
    Dim success As Long
    Dim pos As Long
    Dim sResult As String
    Dim msg As String

    sResult = Space$(MAX_PATH)

    'lpFile: name of the file of interest
    'lpDirectory: location of lpFile
    'sResult: path and name of executable associated with lpFile
    success = FindExecutable("EMAIL.pdf", CurrentProject.PATH, sResult)

    Select Case success
    Case ERROR_FILE_NO_ASSOCIATION ': msg = "no association"
    extenso = "Não há nenhum aplicativo associado"

    Case ERROR_FILE_NOT_FOUND ': msg = "file not found"
    extenso = "Arquivo especificado não pôde ser encontrado"

    Case ERROR_PATH_NOT_FOUND ': msg = "path not found"
    extenso = "Caminho não encontrado."

    Case ERROR_BAD_FORMAT ': msg = "bad format"
    extenso = "Executável inválido"

    Case Is >= ERROR_FILE_SUCCESS:
    extenso = "Existe programa para o arquivo"

    End Select
    '--------------------------------------------------------
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Programa padrão Empty Re: [Resolvido]Programa padrão

    Mensagem  Noobezinho 20/4/2018, 23:41

    Que bom que resolveu Leoni

    Boa sorte!


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    leoni_dias
    leoni_dias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 14/08/2011

    [Resolvido]Programa padrão Empty Re: [Resolvido]Programa padrão

    Mensagem  leoni_dias 20/4/2018, 23:47

    Boa noite novamente.

    Não é apenas para abrir o PDF ou outro arquivo, isso é fácil. É para, sem o usuário ter que procurar, o bd informar que já  existe um programa  padrão no windows
    associado a extensão procurada. Ai o usuário decide se instala outro ou não.

    Para abrir um arquivo com o programa padrão eu uso o hiperlink, menos código e sem módulo:

    '---------------------------No botão
    Dim strPDF As String
    strPDF = CurrentProject.PATH & "\INSTALADOR.pdf"
    Application.FollowHyperlink strPDF
    '-----------------------------------

    Tomara que sirva como ajuda, assim como me ajudaram.

    Boa noite e obrigado.
    Jungli
    Jungli
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 715
    Registrado : 07/05/2010

    [Resolvido]Programa padrão Empty Re: [Resolvido]Programa padrão

    Mensagem  Jungli 21/4/2018, 02:41

    Como diria o Mestre JPaulo,
    Existem várias formas de se fazer Nestun ....

    O importante é que Resolveste o seu problema,

    Abraços...


    .................................................................................
    "Somos o que repetidamente fazemos.
    A excelência, portanto, não é um feito,
    mas um hábito."

    Aristóteles
    leoni_dias
    leoni_dias
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 179
    Registrado : 14/08/2011

    [Resolvido]Programa padrão Empty Re: [Resolvido]Programa padrão

    Mensagem  leoni_dias 21/4/2018, 12:48

    Aprendi muito com o mestre doss ccódigos JPaulo, Cricrio e outros.

    Esse forum sempre me ajudou muito.

    Obrigado.

    Conteúdo patrocinado


    [Resolvido]Programa padrão Empty Re: [Resolvido]Programa padrão

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 17:30