É 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