Eu tenho uma lista enorme de ip's que apontam para um arquivo de texto que eu preciso baixar. Existem cerca de 500 arquivos de texto e o nome do arquivo de texto é o mesmo, data.txt.
Meu pensamento inicial foi usar uma macro para fazer o trabalho.
Public Sub Example()
Dim URL As String, LocalFilename As String
URL = "ftp://user:[email protected]/data.txt"
LocalFilename = "C:\Power Readings\Hall A\Company Name.txt"
If URLDownloadToFile(0, URL, LocalFilename, 0, 0) = 0 Then
'downloaded
Stop
End If
End Sub
Isso funciona perfeitamente. Mas só faz o um arquivo. Minha macro acima permite o download de um único arquivo de um ftp, renomeia como eu quero e coloca em um diretório que eu quero. No entanto, eu preciso repetir isso mais de 100 vezes para arquivos diferentes. Como posso fazer isso? Eu não me importo de alterar o ip, filename manualmente no script, mas obviamente, copiar e colar o script causa erros.
Minha outra ideia seria ter 3 colunas em uma planilha. Coluna A é o endereço IP do arquivo. B seria o nome que eu queria que fosse renomeado quando baixado e C seria o diretório para download. Isso pode ser feito? Então tudo que eu preciso fazer é preencher as colunas com dados, apertar um botão e o arquivo é baixado, renomeado e colocado no diretório correto.
Uma opção final seria ter um arquivo de lote, que usa o prompt do windows commant para baixar todos os arquivos para mim. Mas eu não conheço nenhum dos comandos. Alguma ideia?