Notifications
Clear all

Application.FileSearch - EXCEL 2007

19 Posts
4 Usuários
0 Reactions
6,238 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Colegas, este Modelo foi criado pelo Daniel Petralanda Santos da Petrobraz em 2002, até a versão 2003 funciona sem problemas, acontece que como comentei no Tópico anterior(viewtopic.php?f=16&t=1825) o objeto Application.FileSearch na versão 2007 e superior não tem mais, encontrei algumas possíveis soluções na Net, mas como não possuo o 2007 para testar, venho solicitar a quem tiver esta versão, se possível fazer as alterações para que funcione nas versões 2007 e superiores.

Postei este arquivo em outro forum que participo, aonde tambem solicitaram uma ajuda, sem respostas, então fico grato por qualquer colaboração. Se quiserem acompanhar, está em :
http://www.tomasvasquez.com.br/forum/vi ... f=17&t=769

O que ele faz :
Toda vez que abrimos o Aplicativo é Criado um arquivo de LOG com extensão TXT no diretório aonde se encontra a planilha, e toda alteração é gravado nele encriptada, se abrirem o TXT criado verão que é ilegivel.
Altere qualquer celula em qualquer planilha e depois clique em EXIBIR LOG e selecione o Log, e verá as modificações que foram feitas nas planilhas, em que dia, horario e qual foi a alteração, ou seja qual o valor que era antes e para qual foi alterado.

Abraços

 
Postado : 09/05/2011 7:48 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Mauro... estou no trabalho e aqui o 2003 é corporativo.

Em casa, vou testar, porém na versão 2010 e, em seguida, posto o resultado...

 
Postado : 11/05/2011 1:57 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Mauro,

ao abrir no 2010:

With Application.FileSearch 'Obter a quantidade de arquivos txt


Entendo que este procedimento é para determinar qual o "Log" que está sendo tratado... certo?

Se for apenas isso mesmo, acho que há outro método para fazer esta análise.

 
Postado : 11/05/2011 4:01 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Com o perdão pelas postagens seguidas, postando novamente...

Mauro... modifiquei partes do código e entendo que já roda normalmente no 2007/2010 (e 2003 provavelmente!).

Escrevi o que veio na cabeça de imediato, sem me preocupar com declaração de variáveis e atribuições a elas que podem melhorar o entendimento da rotina.

Espero que atenda. Caso contrário, favor indicar o que está retornando de errado.

Se alguém mais testar (2007/10) e identificar algum resultado diferente do esperado, favor reportar.

http://www.4shared.com/file/robJz5Gn/LogAlteracao.html

 
Postado : 11/05/2011 4:34 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Edson, fiz o teste no Excel 2003, nesta versão abriu normalmente, não precisei alterar as declarações de variaveis, mas a única coisa que ocorreu diferente da versão original para 2003, é o seguinte :

Ao Abrir o arquivo, é criado o Log.txt, mas com o numero 2, Log2.txt, e ao alterar qualquer célula em vez de ser gravado neste arquivo, é criado outro arquivo texto como Log1.txt e as alterações neste arquivo.

Vou dar uma olhada mais detalhada e qualquer coisa posto o resultado, quanto as versões 2007/2010, vou ver se consigo testar em algum outro Pc que tenhha as mesmas.

Por enquanto fico grato pela colaboração.

abraços

 
Postado : 11/05/2011 5:01 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Mauro,

testei agora no 2003 e a numeração correu corretamente.

Certifique-se de que apenas o xls e os txts estão na pasta (já que enviei arquivo ZIP).

Todo o procedimento está sendo executado de acordo com o nome do arquivos.

Valeu!

 
Postado : 11/05/2011 6:05 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ok, Edson, o que aconteceu foi o seguinte :

Como eu descompactei na mesma Pasta em que está o arquivo zipado (LogAlteracao.rar), na instrução :
If Mid(f1, pasta, 3) = "Log" Then, verifica os arquivos na pasta atual, mas com a função Mid,3, é captado só as 3 letras iniciais, e como eu já tenho o arquivo que inicia com Log, o mesmo é considerado como Log1, então é criado o Log2.

Não sei se deu para entender, mas procure deixar o arquivo compactado na mesma pasta sem nenhum Log.txt e excute, então o ideal seria alterar ou o nome do arq texto a ser criado ou modificar na rotina para algo parecido na outra rotina :
.Filename = "Log*.txt"

Vou verificar isso, mas não terei como testar nas outras versões no momento, se tiver como você fazer esta alteração e testar nas outras versões, agradeço.

abraços

 
Postado : 11/05/2011 6:29 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


É isso aí, Mauro...
Como eu mencionei, para não precisar utilizar o Application.FileSearch, fiz desta forma...

Para aplicar mais um critério, inclui outra condição, como fiz na ListBox do UserForm:

And Right(f1, 3) = "txt"


Acho que aí vai ficar redondo...

 
Postado : 11/05/2011 6:36 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Edson, ok, vou fazer a alteração e testar, mas percebi uma outra coisa, você chegou a testar nas Versões 2007 ou 2010 ?

Pergunto, pelo fato de eu ter aberto este tópico justamente devido a alguns colegas terem me passado que o Application.FileSearch dava erro nestas versões e por ter visto na net que realmente ela não existe mais nas versões superiores.
E quando estava fazendo os testes (Excel 2003) usando F8, vi que no Evento_Change da Aba é efetuada a chamada para a Função Sub Log(Pos As Integer, NewValue, Ende, Planilha As String) e nesta função é utilizado a instrução : Application.FileSearch, e isso me chamou a atenção, se no 2007, com as alterações que você fez o arquivo abre sem erro, porque não da erro quando se altera algum valor na planilha ?

Hoje mesmo vou ver se encontro o 2007 e 2010 para baixar, eu só não utilizo porque aonde trabalho só tem a versão 2003 e não pretendem atualizar, mas vou ter de ter em casaa, a maioria dos arquivos hoje em dia são do 2007 pra cima.

abraços

 
Postado : 11/05/2011 7:00 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Mauro... eu criei no 2010 e testei no 2003 em seguida...

No caso que você mencionou, entendo que passa pelo comando Application.FileSearch pois tem On Error Resume Next

De qualquer forma, precisa haver certeza de que nada está sendo suprimido neste caso.

 
Postado : 12/05/2011 5:42 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

De fato Edson, eu tinha visto, mas na hora que postei acabei omitindo esta informação, foi um lapso, deveria ter postado de outra forma.
Sei que a instrução On Error Resume Next enibi o erro, mas fiquei pensando, se na versão 2007 ou superior, se na rotina original, adicionando o On Error, ela funcionaria sem precisar alterar a rotina inteira, e se quando se altera um dado na aba, devido ao On Error na Rotina Log, se está gravando corretamente as alterações no arquivo textgo ou está suprimindo a informação.

Consegui uma cópia do 2007 e se der hoje a noite vou instalar e fazer os testes.

abraços

 
Postado : 12/05/2011 9:08 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Edson, sou grato ela colaboração inicial, a partir dela e agora com a versão 2007 instalada, realizei mais algumas pesquisas e cheguei a conclusão do Modelo, aproveitei e fiz outras adaptações, tipo trocando o LISTBOX por LISTVIEW.

Salvei o mesmo na verão 2003 e funcionou sem precisar adaptar as rotinas, mas qualquer "Bug", favor retornarem.

Abraços

 
Postado : 20/05/2011 10:47 pm
(@jose7br)
Posts: 0
New Member
 

Boa tarde a todos, por acaso alguém tem essa planilha atualizada para o excel 2010 ou 2013?

E outra duvida, como faço para que os dados não sejam criptografados?

Desde já meu muito obrigado

 
Postado : 26/01/2017 11:06 am
(@basole)
Posts: 487
Reputable Member
 

Segue o arquivo s/ a encriptação, roda no excel 2007 ou >

 
Postado : 26/01/2017 8:04 pm
(@fellipe_jm)
Posts: 0
New Member
 

Boa tarde,

Teria como, ao invés de gerar o arquivo .txt ela fizesse este processo em uma aba da própria planilha?

Desde já muito obrigado.

 
Postado : 12/05/2017 10:39 am
Página 1 / 2