dieser Thread knüpft indirekt an diesen hier an: 1581205
Folgendes Prozedere:
CSV importieren --> Werte bearbeiten --> als txt Speichern -->
die durch die Zellen entstandenen Tabs entfernen --> "Konvertieren"
Wenn ich meine Datei in eine Textdatei konvertiere, dann entsteht
nach jeder befüllten Zelle ein Tab
(Bsp.:
INCHES OR MM:
READINGS
EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY
)
Diese Tabs, dürfen aber nicht drinnen sein, deshalb entferneich diese später mit Replace, damit das ganze so aussieht:
INCHES OR MM:
READINGS
EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY
Folgenden Code verwende ich:
'//Safe the Import As TextFile
Private Sub SafeAsText()
Dim workbook_ As Workbook
Dim wbPath As String
Application.DisplayAlerts = False
Set workbook_ = Workbooks.Add
ThisWorkbook.Sheets(1).Copy After:=workbook_.Sheets(1)
workbook_.Sheets(1).Delete
workbook_.WebOptions.Encoding = msoEncodingUSASCII
workbook_.SaveAs Filename:=DefaultPath & Mid(SplitCsvName, 1, Len(SplitCsvName) - 4), _
FileFormat:=xlText
wbPath = workbook_.FullName
workbook_.Close False
Application.DisplayAlerts = True
EraseTabulator wbPath
End Sub
'//Replace Tab with 1-Spacebar hit and convert to .dat
Private Sub EraseTabulator(ByVal file_ As Variant)
Dim data_ As String
Dim newData As String
Dim free_ As Long
free_ = FreeFile
Open file_ For Input As #free_
Do Until EOF(free_)
Line Input #free_, data_
data_ = Replace(data_, vbTab, " ", , , vbTextCompare)
newData = newData & data_ & vbCrLf
Loop
Close #free_
free_ = FreeFile
Open file_ For Output As #free_
Print #free_, newData
Close #free_
Name file_ As Mid(file_, 1, Len(file_) - 4) & ".dat"
End Sub
Der kommt zwar von mir, grausam finde ich ihn trotzdem...
Kennt ihr Möglichkeiten das ganze vielleicht etwas smarter und schöner zu gestalten?