Hallo Leute,
ich habe ein Problem. Ich lese über ein VBS-Skript werte aus einer .csv-Datei in ein Siemens Step7 Grid Control ein. Nun ist das Problem, dass alle Spalten gleich breit sind.
Wie kann ich die einzelnen Spalten verschieden breit stellen? In den Eigenschaften finde ich leider keine Option.
Hier mal das Skript:
Vielleicht wisst ihr ja eine Lösung!
Grüße
ich habe ein Problem. Ich lese über ein VBS-Skript werte aus einer .csv-Datei in ein Siemens Step7 Grid Control ein. Nun ist das Problem, dass alle Spalten gleich breit sind.
Wie kann ich die einzelnen Spalten verschieden breit stellen? In den Eigenschaften finde ich leider keine Option.
Hier mal das Skript:
Code:
Sub OnOpen()
Dim SDAT
Dim EDAT
Dim DTSTART
Dim T
Dim M
Dim J
Dim DataList
Dim Lauf
Dim Line
Dim Y
Dim F
Dim Temp
Dim Breite
Set DataList = ScreenItems("Daten")
DataList.NumCols = 18
DataList.Width = 1260
DataList.CellValue(0,1) = "Datum"
DataList.CellValue(0,2) = "Wert1"
DataList.CellValue(0,3) = "Wert2"
DataList.CellValue(0,4) = "Wert3"
DataList.CellValue(0,5) = "Wert4"
DataList.CellValue(0,6) = "Wert5"
DataList.CellValue(0,7) = "Wert6"
DataList.CellValue(0,8) = "Wert7"
DataList.CellValue(0,9) = "Wert8"
DataList.CellValue(0,10) = "Wert9"
DataList.CellValue(0,11) = "Wert10"
DataList.CellValue(0,12) = "Wert11"
DataList.CellValue(0,13) = "Wert12"
DataList.CellValue(0,14) = "Wert13"
DataList.CellValue(0,15) = "Wert14"
DataList.CellValue(0,16) = "Wert15"
DataList.CellValue(0,17) = "Wert16"
DataList.CellValue(0,18) = "Wert17"
' ############## Laden der Daten ################
'Laden Datalist
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, fs
Dim filename
Dim i
Dim ExData1
'----- Pfadangabe der Dateien holen
filename = "C:\Daten_Test\Werte.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(filename) = False Then 'Datei nicht vorhanden
Msgbox "Daten- Datei nicht vorhanden !"
Exit Sub
End If
Set fs = fso.OpenTextFile(filename,ForReading,False,0)
i=1
While fs.AtEndOfStream <> True
line = fs.ReadLine
'pos = InStr(1,line,"Datensatz;")
'If pos <> 0 Then
'line = "A1;B2;C3;D4;E5;F6"
ExData1 = Split(line, ";")
'HMIRuntime.Trace i & ": " & ExData1(0) & ExData1(1) & ExData1(2) & vbCrLf
For y = 1 To 15
DataList.CellValue(i, y) = ExData1(y-1)
Next
'DataList.AddItem(ExData1(Filter))
'DataList.AddItem(line)
i = i + 1
DataList.NumRows = i
'End If
Wend
fs.close
End Sub
Grüße