Notifications
Clear all

Macro Excel compactar arquivos

3 Posts
2 Usuários
0 Reactions
1,934 Visualizações
engeel2014
(@engeel2014)
Posts: 207
Estimable Member
Topic starter
 

Pessoal, é o seguinte tenho na minha rede várias pastas e dentro delas varios arquivos de diferentes formatos. Estou precisando de uma macro que entre na pasta específica e selecione somente os arquivos do formato jpg ou jpeg e zipe eles com o mesmo nome da pasta mais um complemento ("arquivos de fotos - " nome da pasta). Preciso que utilize o winrar para a tarefa, pois não tenho winzip isntalado. Alguem pode me ajudar. Obrigado

Lucélio Ferreira dos Santos
Eng. Eletricista
CREA: DF-7165/TD
[email protected]

 
Postado : 29/10/2014 11:40 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Use a pesquisa para te ajudar:
http://www.google.com.br/cse?cx=partner ... gsc.page=1

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 29/10/2014 1:47 pm
engeel2014
(@engeel2014)
Posts: 207
Estimable Member
Topic starter
 

É o seguinte pessoal, comecei a desenvolver a minha macro de compactar arquivos mas surgiu uma dúvida. Montei o código abaixo para testes e funcionou conforme queria, porem está acontecendo o seguinte. a macro lê a célula "E:2" e cria uma pasta em "D:" e depois entra na pasta "D:teste" e pega todos os arquivos no formato "jpg" e compacta e depois salva na pasta criada com um nome específico. o que ocorre é que se na pasta "D:teste" tiver uma subpasta, os arquivos no formato "jpg" que tem dentro dela não são compactados junto com os que estão dentro da pasta "D:teste". Preciso que a macro pegue todos os arquivos no formato "jpg" que estão dentro da pasta "D:teste" e suas subpastas e compacte para a pasta que foi criada.

Sub Zipando()
Dim ArqNome As String, ArqCom As String

    Dim fso As Object, NomePasta
    Set fso = CreateObject("Scripting.FileSystemObject")
    NomePasta = "D:" & Range("E2").Text
    If Not fso.FolderExists(NomePasta) Then
    fso.CreateFolder (NomePasta)
    End If

'ChDir ThisWorkbook.Path    'Altera o diretorio de "trabalho" para o o arquivo

ArqNome = "D:" & [e2].Value & "" & [g4].Value & ".rar" 'Nome que o arquivo terá

arqcomp = "D:teste*.jpg" 'Nome do Arquivo a ser compactado"

Shell "C:Arquivos de programasWinRARwinRAR a  " & ArqNome & " " & arqcomp

End Sub

Lucélio Ferreira dos Santos
Eng. Eletricista
CREA: DF-7165/TD
[email protected]

 
Postado : 29/10/2014 8:15 pm