Sub Qantas_Delay_2() Dim objFSO As Object Dim objTF As Object Dim strIn As String Dim X Dim Y Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTF = objFSO.OpenTextFile("C:UsersUtenteDesktopMyfile.txt", 1) strIn = objTF.readall 'qui vado dapprima a mettere tutto su una riga, e poi rinvio a capo ogni nuovo record (in base ad un carattere) Y = Replace(strIn, vbCr, "") Y = Replace(Y, vbLf, ";") Y = Replace(Y, "*", vbCr) 'qui sotto apporto delle modifiche ad alcuni caratteri Y = Replace(Y, ",", ";") Y = Replace(Y, "tizio =", "; tizio =") X = Split(Y, vbCr) [a1].Resize(UBound(X) + 1, 1) = Application.Transpose(X) objTF.Close End Sub |
Sub importa() Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTF = objFSO.OpenTextFile("F:DownloadAinput_1.txt", 1) strIn = objTF.readall Y = Replace(strIn, "DATI" & vbCrLf, "") Y = Replace(Y, vbCrLf, ";") Y = Replace(Y, "*", vbCr) Y = Replace(Y, ",", ";") Y = Replace(Y, ";;", "") Y = Replace(Y, "durata;", "durata") Y = Right(Y, Len(Y) - 1) X = Split(Y, vbCr) [a1].Resize(UBound(X) + 1, 1) = Application.Transpose(X) objTF.Close Columns(1).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, Semicolon:=True End Sub |
Sub importa() Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder("F:downloadA") ' <<<< da modificare R = 1 For Each objfile In objFolder.Files ext = LCase(Right(objfile.Name, 3)) If ext = "txt" And (InStr(objfile.Name, "5") > 0 Or InStr(objfile.Name, "8") > 0) Then Set objTF = objFSO.OpenTextFile(objfile, 1) strIn = objTF.readall Y = Replace(strIn, "DATI" & vbCrLf, "") Y = Replace(Y, vbCrLf, ";") Y = Replace(Y, "*", vbCr) Y = Replace(Y, ",", ";") Y = Replace(Y, ";;", "") Y = Replace(Y, "durata;", "durata") Y = Right(Y, Len(Y) - 1) X = Split(Y, vbCr) Cells(R, 1).Resize(UBound(X) + 1, 1) = Application.Transpose(X) objTF.Close End If R = Cells(Rows.Count, "A").End(xlUp).Row + 1 Next Columns(1).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, Semicolon:=True End Sub |
Sub importa() Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder("F:downloadA") ' <<<< da modificare R = 1 For Each objfile In objFolder.Files ext = LCase(Right(objfile.Name, 3)) If ext = "txt" And (InStr(objfile.Name, "5") > 0 Or InStr(objfile.Name, "8") > 0) Then Set objTF = objFSO.OpenTextFile(objfile, 1) strIn = objTF.readall p = InStr(strIn, vbCrLf) Y = Right(strIn, Len(strIn) - p - 1) 'Y = Replace(strIn, "DATI" & vbCrLf, "") Y = Replace(Y, vbCrLf, ";") Y = Replace(Y, "*", vbCr) Y = Replace(Y, ",", ";") Y = Replace(Y, ";;", "") Y = Replace(Y, "durata;", "durata") Y = Right(Y, Len(Y) - 1) X = Split(Y, vbCr) Cells(R, 1).Resize(UBound(X) + 1, 1) = Application.Transpose(X) objTF.Close R = Cells(Rows.Count, "A").End(xlUp).Row + 1 End If Next Columns(1).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, Semicolon:=True End Sub |
If ext = "txt" And InStr(objfile.Name, "tizio") > 0 Then |
Sub importaUno() Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder("F:DocumentiExcelfileMacro-VBACsvA") ' <<<< da modificare For Each objfile In objFolder.Files ext = LCase(Right(objfile.Name, 3)) If ext = "txt" And InStr(objfile.Name, "tizio") > 0 Then With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & objfile, Destination:=Range("$A$1")) .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 850 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = False .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = False .TextFileSpaceDelimiter = False .TextFileOtherDelimiter = "|" .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With End If Next End Sub |
Sub importa5() Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder("F:DocumentiExcelfileMacro-VBACsvA") ' <<<< da modificare R = 1 arr = Array("5", "4", "3", "2", "1") For i = 1 To 4 For Each objfile In objFolder.Files ext = LCase(Right(objfile.Name, 3)) If ext = "txt" And InStr(objfile.Name, arr(i)) > 0 Then Set objTF = objFSO.OpenTextFile(objfile, 1) strIn = objTF.readall p = InStr(strIn, vbCrLf) Y = Right(strIn, Len(strIn) - p - 1) 'Y = Replace(strIn, "DATI" & vbCrLf, "") Y = Replace(Y, vbCrLf, ";") Y = Replace(Y, "*", vbCr) Y = Replace(Y, ",", ";") Y = Replace(Y, ";;", "") Y = Replace(Y, "durata;", "durata") Y = Right(Y, Len(Y) - 1) X = Split(Y, vbCr) Cells(R, 1).Resize(UBound(X) + 1, 1) = Application.Transpose(X) objTF.Close R = Cells(Rows.Count, "A").End(xlUp).Row + 1 End If Next Next Columns(1).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, Semicolon:=True End Sub |