Notifications
Clear all

Excel para .DAT e vice versa

4 Posts
2 Usuários
0 Reactions
1,123 Visualizações
(@gilbertjrs)
Posts: 77
Trusted Member
Topic starter
 

Pessoal, boa noite.

Alguém conhece um código para exportar dados do Excel para um arquivo .DAT ?

Necessito importar e exportar dados entre Excel e arquivo .DAT

Encontrei um código para importar

Sub ImportBigFile()
     Dim N As Long
     Dim Lim As Long
     Dim SS() As String
     Dim S As String
     Dim R As Long
     Dim C As Long
     Dim WS As Worksheet
     Dim FNum As Integer
     Dim FName As String

     FName = "C:TempFile.dat"
     FNum = FreeFile

     With ActiveWorkbook.Worksheets
         Set WS = .Add(after:=.Item(.Count))
     End With

     Lim = WS.Rows.Count
     Open FName For Input Access Read As #FNum
     R = 0
     Do Until EOF(FNum)
         R = R + 1
         Line Input #FNum, S
         SS = Split(S, "t", -1)
         For C = LBound(SS) To UBound(SS)
             WS.Cells(R, C + 1).Value = SS(C)
         Next C
         If R = Lim Then
             With ActiveWorkbook.Worksheets
                 Set WS = .Add(after:=.Item(.Count))
             End With
             R = 0
         End If
     Loop
 End Sub

Não tive sucesso ao tentar adaptálo para exportar dados.

Preciso conseguir exportar para o mesmo arquivo de onde foi importado inicialmente pois, serão necessários realizar cálculos no Excel e o software que gera as informações somente entende dados em arquivos com extenção .DAT

 
Postado : 01/03/2018 7:20 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Bom dia, gilbertjrs

Vc tem um modelo de como era e como ficaria o .DAT?

Estou imaginando que vc abre, coloca em células, processa/transforma alguns ou todos os dados e depois queira salvar novamente com os dados modificados...

Seria importante conhecer o layout do .DAT para poder te ajudar...

 
Postado : 02/03/2018 6:55 am
(@gilbertjrs)
Posts: 77
Trusted Member
Topic starter
 

Vc tem um modelo de como era e como ficaria o .DAT?

Vou tentar simular em casa, pois na empresa onde estes .DAT são gerados não é permitido troca de arquivos com a web.

Estou imaginando que vc abre, coloca em células, processa/transforma alguns ou todos os dados e depois queira salvar novamente com os dados modificados...

Edson, a idéia é esta mesma.

 
Postado : 02/03/2018 8:16 am
(@gilbertjrs)
Posts: 77
Trusted Member
Topic starter
 

Após conversar com os cliente, a idéia é importar os dados para o Excel, manipulá-lo e exportar para .DAT, podendo ser o arquivo de exportação diferente do de importação.

Encontrei um código no site https://stackoverflow.com/questions/19282401/write-a-string-of-several-lines-to-a-file. Após adaptá-lo ficou assim:

Sub Write1()
    Dim fso As Object
    Dim oFile As Object
    Dim FName, tempStr As String
    Dim line, col As Integer
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    FName = "C:Tempteste.dat"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set oFile = fso.CreateTextFile(FName)
    
    With ThisWorkbook.Worksheets("Planilha2")
    For line = 1 To .Range("A1").End(xlDown).Row
        tempStr = ""
        For col = 1 To .Cells(line, 1).End(xlToRight).Column
            tempStr = tempStr + CStr(.Cells(line, col).Value)
        Next col
        oFile.WriteLine tempStr
    Next line
    End With
    
    oFile.Close
    
    MsgBox "Finalizado"
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True

End Sub

Como deveria ser modificado este código, se eu quisesse acrescentar informações num arquivo já existente?

 
Postado : 03/03/2018 6:15 pm