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


2 participantes

    [Resolvido]Executar arquivos somente leitura.

    Luís Augusto
    Luís Augusto
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 129
    Registrado : 28/10/2011

    [Resolvido]Executar arquivos somente leitura. Empty Executar arquivos somente leitura.

    Mensagem  Luís Augusto 5/8/2012, 01:29

    Boa noite pessoal.
    Se existe tal função aqui no fórum não consegui encontrar.
    Existe alguma maneira de executar arquivos em modo READ ONLY?
    Estou pensando em usar ShellExecute mas, até onde pude entender nessa API não existe tal opção.
    Tentei inúmeras dicas (Gambiarras) postadas na internet mas, não consegui executar. Sei que alguns tipos de arquivo não dão suporte à esse recurso (Somente leitura), então o ideal seria que o windows abrisse uma cópia do arquivo na pasta %Temp%.

    Estou preocupado com a integridade do arquivo, já que o mesmo será executado pelo programa padrão relacionado à extensão do arquivo, pode ser um editor. No

    Alguém pode me ajudar com essa questão?
    Obrigado.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Executar arquivos somente leitura. Empty Re: [Resolvido]Executar arquivos somente leitura.

    Mensagem  Alexandre Neves 5/8/2012, 09:33

    Bom dia, Luís
    Em vez de abrir o ficheiro, copie-o e abra a cópia.
    avatar
    Convidad
    Convidado


    [Resolvido]Executar arquivos somente leitura. Empty Re: [Resolvido]Executar arquivos somente leitura.

    Mensagem  Convidad 5/8/2012, 15:30

    num modulo
    .............

    Declare Function SetFileAttributes Lib "kernel32.dll" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long

    Const FILE_ATTRIBUTE_ARCHIVE = &H20
    Const FILE_ATTRIBUTE_HIDDEN = &H2
    Const FILE_ATTRIBUTE_NORMAL = &H80
    Const FILE_ATTRIBUTE_READONLY = &H1
    Const FILE_ATTRIBUTE_SYSTEM = &H4


    Public 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



    ...........................................


    Private Sub teuBotão_Click()
    Dim strficheiro As String

    strficheiro = "teste.doc"
    ShellExecute Me.hwnd, vbNullString, strficheiro, vbNullString, "C:\", FILE_ATTRIBUTE_READONLY

    End Sub

    Luís Augusto
    Luís Augusto
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 129
    Registrado : 28/10/2011

    [Resolvido]Executar arquivos somente leitura. Empty Re: [Resolvido]Executar arquivos somente leitura.

    Mensagem  Luís Augusto 5/8/2012, 16:57

    Em primeiro lugar agradeço aos colegas que dispuseram do seu tempo e participaram do tópico.

    Ricardo não entendo o porque, mas não consegui conforme proposto. Para ser sincero já havia tentado isso antes de colocar o tópico. Talvez seja o fato do meu Sistema Operacinal ser 64bits.

    Consigo alterar os atributos com o comando do VBA SetAttr pathname, attributes.

    Constante | Valor | Descrição
    vbNormal | 0 | Normal (padrão).
    vbReadOnly | 1 | Somente leitura.
    vbHidden | 2 | Oculto.
    vbSystem | 4 | Arquivo do sistema. Não disponível no Macintosh.
    vbArchive | 32 | O arquivo foi alterado após o último backup.
    vbAlias | 64 | O nome do arquivo especificado é um alias. Disponível somente no Macintosh.

    Resolve, mas não sei se é a melhor maneira. Caso o arquivo esteja aberto ele da erro. Acredito que irei "setar" no momento que fizer a cópia do mesmo para o diretório destino.
    Deixarei o tópico aberto mais um pouco para ver se resolvemos.

    A propósito, conforme proposto por você, não retorna erro algum mas, o arquivo se abre em estado normal.
    Estou anexando o arquivo em versão 2007, alguém poderia fazer a gentileza de testar num SO 32bits?
    Obrigado.
    Anexos
    [Resolvido]Executar arquivos somente leitura. Attachmentsetar somente leitura.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (35 Kb) Baixado 24 vez(es)
    avatar
    Convidad
    Convidado


    [Resolvido]Executar arquivos somente leitura. Empty Re: [Resolvido]Executar arquivos somente leitura.

    Mensagem  Convidad 5/8/2012, 19:01

    como lhe passei acima abre em modo de leitura sim.

    repara que deixa alterar o conteúdo do documento, mas se salvar ele diz que é somente de leitura.

    testado no 32bits

    repara também que o directório já consta na instrução em C:\



    Dim Caminho As String

    Caminho = Me.txtDiretorio

    ShellExecute Me.hwnd, vbNullString, Caminho, vbNullString, "C:\", FILE_ATTRIBUTE_READONLY

    End Sub
    Luís Augusto
    Luís Augusto
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 129
    Registrado : 28/10/2011

    [Resolvido]Executar arquivos somente leitura. Empty Re: [Resolvido]Executar arquivos somente leitura.

    Mensagem  Luís Augusto 5/8/2012, 22:07

    Obrigado Ricardo.
    É como disse. Não entendo o porque de não funcionar em minha máquina.
    Você usou o exemplo que anexei? Houve necessidade de alteração?

    Alguém poderia testar no SO 64bits também?
    Obrigado.
    avatar
    Convidad
    Convidado


    [Resolvido]Executar arquivos somente leitura. Empty Re: [Resolvido]Executar arquivos somente leitura.

    Mensagem  Convidad 5/8/2012, 22:08

    usei o teu exemplo e nada foi alterado.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Executar arquivos somente leitura. Empty Re: [Resolvido]Executar arquivos somente leitura.

    Mensagem  Alexandre Neves 20/9/2012, 21:48

    Luís
    Já resolveu? Precisa de alguém que tenha SO 64bits?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Executar arquivos somente leitura. Empty Re: [Resolvido]Executar arquivos somente leitura.

    Mensagem  Alexandre Neves 26/1/2013, 23:15

    Não tendo havido evolução, o assunto passa a resolvido.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Conteúdo patrocinado


    [Resolvido]Executar arquivos somente leitura. Empty Re: [Resolvido]Executar arquivos somente leitura.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 09:14