Notifications
Clear all

PORQUE ESTÁ CRIANDO COISAS NO TXT ?

4 Posts
3 Usuários
0 Reactions
924 Visualizações
(@willianrc)
Posts: 0
New Member
Topic starter
 

Olá amigos,
Estou criando um projeto e não estou entendendo porque está criando coisas dentro do txt.
A rotina é o seguinte:
Dentro do Workbook_Open() está meu código.
Ao iniciar o excel cria-se uma pasta chamada REGISTRO no mesmo local do arquivo excel, ai dentro desta pasta cria-se um arquivo txt, só que quando cria o txt ele coloca um monte de coisas dentro dele.Segue meu código:

Private Sub Workbook_Open()

  Dim ConferePasta As String
  Dim ConfereArquivo As String
  
  'Atribui caminho do diretório.
  ConferePasta = ThisWorkbook.Path & "REGISTRO"
  
  'Testa se o diretório existe. Caso não exista, cria-se o mesmo.
  If Dir(ConferePasta, vbDirectory) = "" Then MkDir ConferePasta
  
  'Atribui o nome do arquivo dentro do diretório testado.
  ConfereArquivo = ConferePasta & "LOG.txt"
  
  'Testa se o arquivo existe. Caso não exista, cria-se o mesmo.
  If Dir(ConfereArquivo, vbArchive) = "" Then
    Dim oApp As Excel.Application
    Dim oWks As Excel.Workbook
    
    Set oApp = New Excel.Application
    Set oWks = oApp.Workbooks.Add
    oWks.SaveAs ConfereArquivo
  End If
    
End Sub
 
Postado : 31/05/2017 1:09 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

willianrc,

Boa noite!

Creio que isso está ocorrendo porque você está tentando salvar um arquivo Excel como TXT. Por isso o arquivo vem com essa "sujeira". A "sujeira" nada mais é do que os painéis, botões e barras do Excel.

Não tenho certeza absoluta...

 
Postado : 31/05/2017 5:07 pm
(@brunoxro)
Posts: 0
New Member
 

Boa noite willianrc,

Coloque uma planilha de exemplo, assim fica mais fácil tentar ajudar.

att,

 
Postado : 31/05/2017 8:10 pm
(@willianrc)
Posts: 0
New Member
Topic starter
 

Olá , eu consegui de outro jeito.
Criei um módulo:

Sub LogInfo(LogMessage As String)

    'Definir caminho e nome do arquivo de log onde você deseja salvar
    'O arquivo de log
    Dim LogFileName As String
    LogFileName = ThisWorkbook.Path & "LogFile.txt" 
    Dim FileNum As Integer
    
    FileNum = FreeFile 'Próximo número de arquivo
    Open LogFileName For Append As #FileNum 'Cria o arquivo se ele não existir
    Print #FileNum, LogMessage 'Escrever informações no final do arquivo de texto
    Close #FileNum 'Fechar o arquivo

End Sub

Depois coloquei na Pasta_de_trabalho:

Private Sub Workbook_Open()
    LogInfo ThisWorkbook.Name & " ENTRADA: Logado como " & _
        Application.UserName & " " & Format(Date, "dd/mm/yyyy") & " " & Format(Time, "hh:mm:ss") & " " & Environ("UserName") & " " & Environ("Logonserver") & " " & Environ("ComputerName") & " " & Environ("UserProfile") & " " & Environ("UserDomain")

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    LogInfo ThisWorkbook.Name & " SAÍDA: Logado como " & _
        Application.UserName & " " & Format(Date, "dd/mm/yyyy") & " " & Format(Time, "hh:mm:ss") & " " & Environ("UserName") & " " & Environ("Logonserver") & " " & Environ("ComputerName") & " " & Environ("UserProfile") & " " & Environ("UserDomain")

End Sub
 
Postado : 01/06/2017 1:12 pm