Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Arquivo mais antigo [RESOLVIDO]

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
HUGO SOUZA
Colaborador
Colaborador
Mensagens: 59
Registrado em: Sáb Mar 15, 2014 5:48 pm

Arquivo mais antigo [RESOLVIDO]

Mensagem por HUGO SOUZA »

Olá!

Tenho uma pasta com vários arquivos .txt, e gostaria de reconhecer qual deles foi criado primeiro.

Preciso escrever o nome do arquivo em uma célula, o caminho dele em outra e a data de criação (Formato: 07/2015) em outra.
Alguém pode me auxiliar, por favor?
Editado pela última vez por HUGO SOUZA em Ter Jul 28, 2015 6:19 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


HUGO SOUZA
Colaborador
Colaborador
Mensagens: 59
Registrado em: Sáb Mar 15, 2014 5:48 pm

Re: Arquivo mais antigo

Mensagem por HUGO SOUZA »

Raxei a cuca:

Sub Arquivo_mais_antigo()
Dim DT1, DT2 As Date
'Se quiser utilizar Early Binding, adicione a biblioteca Microsoft Scripting Runtime

'Mude esse valor para buscar outro caminho:
Const strCaminho As String = "H:\HUGO\VBA AUXILIAR"

'Declaração de variáveis:
Dim fso As Object 'Scripting.FileSystemObject
Dim fld As Object 'Scripting.Folder
Dim fl As Object 'Scripting.File
Dim n As Long

'Aqui é criado o objeto que comunica com as pastas do computador
Set fso = CreateObject("Scripting.FileSystemObject")

'Esse objeto executa um método do FileSystemObject
'para buscar atribuir à variável fld uma pasta
Set fld = fso.GetFolder(strCaminho)

With ActiveSheet
'Limpa e formata a Planilha ativa:
' .Cells.Delete

'Laço em cada arquivo do caminho desejado:
For Each fl In fld.Files

If fl.Type = "Documento de Texto" Then

DT1 = fl.DATECREATED

If DT2 = "00:00:00" Then
DT2 = fl.DATECREATED
Else
If DT1 < DT2 Then
DT2 = DT1
End If
End If

End If
Next fl
End With
ActiveCell.Value = DT2
End Sub


Responder