MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Compactação/Compressão de arquivos txt com VBA (Office 2007)

    Compartilhe

    sidney.brito
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 26/07/2011

    Compactação/Compressão de arquivos txt com VBA (Office 2007)

    Mensagem  sidney.brito em Sab 05 Abr 2014, 04:03

    Boa noite

    Preciso de um auxilio para compressão/compactação de arquivos txt via vba.

    Encontrei um post aqui no forum, mas não funciona com office 2007.  http://www.maximoaccess.com/t477-resolvidocompactar-arquivo-pelo-access

    Public Sub ZipaFicheiro()
    'Criado pelo meu amigo e colega Raw do Canadá
    'Adaptado por JPaulo ® Maximo Access
    Dim strDate As String, DefPath As String
    Dim oApp As Object
    Dim FName, FileNameZip
    Dim strPrefix As String
    On Error Resume Next
    DefPath = "C:\SuaPasta"'Local e pasta
    If Right(DefPath, 1) <> "" Then
    DefPath = DefPath & ""
    End If
    strDate = Format(Now, "dd-mmm-yy_h-mm-ss")
    FileNameZip = DefPath & strDate & ".zip"
    strPrefix = "planilha não alterada" 'Nome do ficheiro
    FName = "C:\SuaPasta" & strPrefix & ".xls"
    On Error Resume Next
    CriaNovoZip (FileNameZip)
    Set oApp = CreateObject("Shell.Application")
    oApp.NameSpace(FileNameZip).CopyHere FName
    MsgBox "Criado com Sucesso em: " & FileNameZip
    Set oApp = Nothing
    Exit Sub
    End Sub

    Encontrei um codigo similar mas também apresenta o erro "Method NameSpace of object 'IShellDispatch4' failed" na linha objOApp.Namespace(varFileNameFolder).CopyHere objOApp.Namespace(FileNameToUnzip).items, 24

    Também tentei Shell ("C:\Program Files\PKWARE\PKZIPW\PKZIPWR a c:\temp\teste.zip c:\temp\teste.pdf") sem sucesso. O zip inicia mas não adiciona o arquivo.

    Alguém consegue me dar uma luz a respeito de como resolver o erro ou algum outro codigo ?

    abs
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9337
    Registrado : 04/11/2009

    Re: Compactação/Compressão de arquivos txt com VBA (Office 2007)

    Mensagem  JPaulo em Seg 07 Abr 2014, 13:15

    Ola;

    Fiz o teste com um txt no MS 2007 e funciona sim;

    Se tiver problemas, copie o seu ficheiro para outra drive sem ser a "C:\" e teste;

    Dim strDate As String, DefPath As String
    Dim oApp As Object
    Dim FName, FileNameZip
    Dim strPrefix As String
    On Error Resume Next

    DefPath = "D:\" 'Local onde se encontra o ficheiro
    If Right(DefPath, 1) <> "" Then
    DefPath = DefPath & ""
    End If
    strDate = Format(Now, "dd-mmm-yy_h-mm-ss")
    FileNameZip = DefPath & strDate & ".zip"
    strPrefix = "teste" 'Nome do ficheiro sem extensão
    FName = "D:\" & strPrefix & ".txt"

    On Error Resume Next
    CriaNovoZip (FileNameZip)
    Set oApp = CreateObject("Shell.Application")
    oApp.NameSpace(FileNameZip).CopyHere FName
    MsgBox "Criado com Sucesso em: " & FileNameZip
    Set oApp = Nothing
    Exit Sub



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    sidney.brito
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 26/07/2011

    Re: Compactação/Compressão de arquivos txt com VBA (Office 2007)

    Mensagem  sidney.brito em Seg 07 Abr 2014, 21:11

    JPaulo
     
    Testei o codigo que vc postou no c: e em outro diretorio de rede.
    O zip foi criado, mas o arquivo teste.txt não foi adicionado porque o código não esta reconhecendo o namespace.
    Eu referenciei a biblioteca do Excel, mas não adiantou. Sabe se é preciso fazer referencia a alguma outra biblioteca ?
     
    Obrigado
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9337
    Registrado : 04/11/2009

    Re: Compactação/Compressão de arquivos txt com VBA (Office 2007)

    Mensagem  JPaulo em Seg 07 Abr 2014, 21:16

    Em todos os testes que fiz, funfou.

    Faça um outro teste, renomeando para nomes sem espaços, tanto o caminho como o ficheiro.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    sidney.brito
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 26/07/2011

    Re: Compactação/Compressão de arquivos txt com VBA (Office 2007)

    Mensagem  sidney.brito em Seg 07 Abr 2014, 21:48

    Ja havia feito isso...

    ?FileNameZip
    c:\temp\07-abr-14_17-26-15.zip
    ?FName
    c:\temp\teste.txt

    Mas depois de varios testes me atentei que estou usando um app chamado SecuryZIP...
    Talvez o problema seja justamente esse. O zip é criado mas não adiona o arquivo...

    Bem vou fazer algumas persquisas em cima disso.

    Obrigado pela ajuda.
    abs

      Data/hora atual: Sex 21 Jul 2017, 13:45