Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 Programar macro para rodar em um determinado dia e horário

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Walace.Teixeira



Mensagens : 7
Data de inscrição : 18/09/2014

MensagemAssunto: Programar macro para rodar em um determinado dia e horário   Qui Out 02, 2014 4:48 pm

Bom dia.

Prezados amigos ...

Tenho uma macro que estou desenvolvendo e preciso de ajuda ...

Quero que minha macro rode todo o dia em deteminado horário que eu estipular, porém o critério para que ela rode é que o arquivo que será utilizado tem de estar atualizado na data do dia ... Ex : Hoje é dia 02/10/2014 e o arquivo está atualizado com a data de ontem, daí a macro não executa ... porém, se a data do arquivo salvo for a de hoje, quero que execute o comando abaixo ...

Infelizmente tentei fazer vários ajustes mas só estou piorando a situação ... Alguém poderia me ajuda !?

Desde já agradeço !

Public Sub ExecutaMacros1()

Const Arquivo As String = "C:\Users\G0047832\Desktop\RELATORIO_CANCELAMENTO_TELECOM_TV_201409.txt"
'Exibe a data de criação do arquivo

Dim DataAtualizado As Date

DataAtualizado = FileDateTime(Arquivo)

If DataAtualizado >= Date Then

Call Application.OnTime(TimeValue("10:03:00"), "IMPORTA")
Call Application.OnTime(TimeValue("10:04:00"), "TRATADADOS")

Else

Exit Sub

End If

End Sub
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Programar macro para rodar em um determinado dia e horário   Qui Out 02, 2014 5:34 pm

Bom dia!!

Cara, sinceramente, eu ainda não entendi.

porque então não atualizar o arquivo com a data de hoje confused

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Walace.Teixeira



Mensagens : 7
Data de inscrição : 18/09/2014

MensagemAssunto: Re: Programar macro para rodar em um determinado dia e horário   Qui Out 02, 2014 6:51 pm

Seria assim ...

A macro que estou criando deve rodar se o arquivo ( base TXT ) que será importado da rede estiver salvo com a data de hoje, caso contrário ela não executa.

Só preciso saber como fazer a macro rodar com base na data que o arquivo foi salvo na rede, os demais processos já estou montando ...

O objetivo é fazer que meu relatório rode "sozinho" todos os dias, por isso estou usando a função "Call Application.OnTime", porém se a base do relatório não estiver atualizada/salva com a data do dia da execução da macro de nada vale ...

à disposição !
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Programar macro para rodar em um determinado dia e horário   Qui Out 02, 2014 7:10 pm

Boa tarde!!

Então você deseja que tenha esse critério (arquivo atualizado com a data de hoje), pois caso queira, tu pode, simplesmente rodar uma rotina (agendada para todos os dias).

Caso queira o resultado em uma guia
Código:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Plan1").Range("A1") = Application.UserName
Sheets("Plan1").Range("A2") = Now
End Sub

Ou...........
http://2toria.com/2011/11/25/excel-tip-display-the-name-of-the-last-user-to-save-a-file/
UDF
Código:
Function LastSaved() As Date
    Application.Volatile
    LastSaved = ThisWorkbook.BuiltinDocumentProperties(12)
End Function
Código:
Function LastAuthor() As String
    Application.Volatile
    LastAuthor = ThisWorkbook.BuiltinDocumentProperties("ultimo Autor")
End Function

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Walace.Teixeira



Mensagens : 7
Data de inscrição : 18/09/2014

MensagemAssunto: Re: Programar macro para rodar em um determinado dia e horário   Qui Out 02, 2014 10:21 pm

Caro amigo ...

Vi seu post e achei sensacional, mas o meu caso é um pouco diferente do que você entendeu ...

Não quero abrir o arquivo, mas sim fazer uma leitura do arquivo que esta em uma pasta na rede e caso este arquivo esteja atualizado com a data do dia ( ex: hoje ), este rodará outras macros que estou desenvolvendo.

A ideia é ter uma atualização "automática" que não necessite de minha intervenção, neste caso precisaria de uma forma de fazer essa leitura do arquivo txt na rede e se o mesmo estiver atualizado, todas as demais macros irão executar conforme as programações que estou fazendo ...

Parece complicado, mas se analisar o código abaixo, vai ver que estou tentando fazer que seja lido um arquivo na rede com base na data de hoje x a data de atualização do mesmo.

Public Sub ExecutaMacros1()

Const Arquivo As String = "C:\Users\G0047832\Desktop\RELATORIO_CANCELAMENTO_TELECOM_TV_201409.txt"
'Exibe a data de criação do arquivo

Dim DataAtualizado As Date

DataAtualizado = FileDateTime(Arquivo)

If DataAtualizado >= Date Then

Call Application.OnTime(TimeValue("10:03:00"), "IMPORTA")
Call Application.OnTime(TimeValue("10:04:00"), "TRATADADOS")

Else

Exit Sub

End If

End Sub
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Programar macro para rodar em um determinado dia e horário   Qui Out 02, 2014 11:18 pm

Boa tarde!!

Imagine o VBA trabalhando, como (qual critério), tu vai dizer para o VBA que o arquivo está atualiza?

Talvez depois disso eu possa ajudar bounce

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: Programar macro para rodar em um determinado dia e horário   Hoje à(s) 1:33 pm

Voltar ao Topo Ir em baixo
 
Programar macro para rodar em um determinado dia e horário
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Epsxe EMULAÇÃO PERFEITA!!!
» Como Troca ícone do Jogo e Salvar o Jogo em EXE que de para Rodar
» Game Editor Linux?
» [TUTORIAL] Aplicativos rodando em Background e Ativar Landscape e Rotate
» SUPER DICA PARA QUEM ESTA COM O SKS TRAVANDO NO MEGABOX 3000 COM A ULTIMA ATUALIZAÇÃO, SOLUÇÃO PARA RODAR SEM TRAVADAS

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: