Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#46862
Boa tarde a todos. Estou um problema a ser resolvido. Que poder ajudar, agradeço...
Tenho eu uma planilha recebendo dados externos de um arquivo de texto. Esse arquivo de texto é gerando por um sistema. Gostaria de saber se existe uma forma de criar uma macro em segundo plano que fique rodando ininterruptamente testando se o arquivo de texto foi atualizado, verificando a ultima data de alteração registrada pelo windows. Agradeço desde já.
#46893
Olá. Tente usar esse código: Basta substituir o caminho do seu arquivo... Após ele achar a data de modificação, voce insere o seu "tratamento" de acordo com a data/hora, deixei um exemplo de como extrair isso...
Código: Selecionar todos
Sub DescobrirModificacao()

Dim arquivo As New Scripting.FileSystemObject
Dim UltimaMod As String
Set arquivo = New Scripting.FileSystemObject

'Definir caminho
caminho = "C:/Desktop/texto.txt"

'Checar se o caminho existe
If arquivo.FileExists(caminho) Then
    'Existe
    
Else
    'Nao existe o arquivo
    MsgBox "Erro! O arquivo nao existe!", vbExclamation
    Exit Sub
End If

'Definir ultima modificacao ("11.12.2019 13:45:02")
UltimaMod = arquivo.GetFile(caminho).DateLastModified

'Seu codigo......................................

'Podes usar o Mid pra extrair só a data/hora
'Data = Mid(UltimaMod, 1, 10)
'hora = Mid(UltimaMod, 12, 8)

End Sub
#47017
Ok. Está funcionando agora. Lembre-se de declarar a referencia: Microsoft Scripting Runtime.
No Sub "SeuCodigo" ponha o seu código, e chame a ultima modificação através da variável/function ... No fim deixe o "Call Verificador"
Código: Selecionar todos
Sub Verificador()
Application.OnTime Now + TimeValue("00:00:05"), "SeuCodigo"
End Sub
Function UltimaModificacao() As String

'!!!!! >>>>>>>  Adicione a referencia = Microsoft Scripting Runtime <<<<<<<<<<< !!!!!!
Dim arquivo As New Scripting.FileSystemObject
Set arquivo = New Scripting.FileSystemObject

'Definir caminho
caminho = "D:/Desktop/texto.txt"

'Checar se o caminho existe
If Not arquivo.FileExists(caminho) Then
    UltimaModificacao = ""
    Exit Function
End If

'Definir ultima modificacao ("11.12.2019 13:45:02")
UltimaModificacao = arquivo.GetFile(caminho).DateLastModified

End Function
Sub SeuCodigo()

'Seu codigo...

'Ultima modificacao é só chamar pela variavel UltimaModificacao



'Deixar isso no fim
Call Verificador

End Sub
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord