Hallo ich habe ein großes Probelm. Leider finde ich den Fehler nicht.
Ich habe Bilder die so heißten IR_(5 oder 4 Stellige Zahl).Jpg
Diese Bilder sozusagen einlesen von einem Verzeichnis und nach sessions unterteilen dass heißt, wenn eine Zahl die eingelesen worden ist größer als 1 ist dann beginnt eine neue Session und ein stop soll in das Programm gemacht werden.
Wenn also die Zahl 2987 und die nächste zahl 2989 dann neue Session.
Bei mir bringt er an dieser Stelle ein Fehler :
test_mod_num(Z) = CInt(test_mod(Z))
Warum?
hier zur übersicht das ganze Programm:
Option Explicit
Dim sess As Object
Dim row As Integer
Dim col As Integer
Dim var1(50) As Double
Dim i As Integer
Dim VarMax As Double
Dim Var2 As Double
Dim Pfad As String
Dim Inputtext As String
Dim Zeile As String
Dim Filename As String
Dim J As String
Dim d As String
Dim AnzDateien As Integer
Dim test(200) As String
Dim test_mod(200) As String
Dim test_mod_num(200) As Integer
Dim laenge As Double
Dim beginn As Integer
Dim num As Integer
Dim session_num As Integer
Dim Z As Double
Dim x As Double
Dim datei(200) As String
Private Sub CommandButton1_Click()
Call PlaySequence_Click
End Sub
Private Sub TextBox1_Change()
Pfad = TextBox1
Pfad = Pfad + "\*.*"
End Sub
Sub PlaySequence_Click()
Dim resultat As String
row = 1
col = 1
i = 0
VarMax = 0
'Lesen des Inhaltsverzeichnisses
d = Dir(Pfad)
AnzDateien = 1
Do While d > ""
'MsgBox d
' MsgBox AnzDateien
test(AnzDateien) = d
DoEvents
d = Dir
AnzDateien = AnzDateien + 1
Loop
MsgBox ("Hier die Anzahl der Dateien " & AnzDateien)
'Ausgabe Array
For Z = 1 To AnzDateien
'MsgBox test(Z)
Z = Z + 1
Next
'Aus wieviel Zeichen besteht der Dateiname ?
laenge = Len(test(1))
MsgBox ("Der Dateiname ist " & laenge & " lang")
'vierstellige Bildnummer
If laenge = 11 Then
beginn = 4
num = 4
End If
'fuenfstellige Bildnummer
If laenge = 12 Then
beginn = 4
num = 5
End If
'sechsstellige Bildnummer
If laenge = 13 Then
beginn = 4
num = 6
End If
' Stop
'Zahlen aus dem Dateinamen herauslesen
For Z = 1 To AnzDateien
test_mod(Z) = Mid(test(Z), beginn, num)
MsgBox test_mod(Z)
test_mod_num(Z) = CInt(test_mod(Z))
Z = Z + 1
Next
'Bilder einlesen
'session_num = 1
'test_mod2(Z,session_num)=test_mod(z),session_num
For Z = 1 To AnzDateien
x = Z + 1
If test_mod_num(x) > test_mod_num(Z) Then
session_num = session_num + 1
MsgBox ("erfuellt !")
End If
MsgBox (session_num & " " & test_mod(Z) & " " & test_mod(x))
'Z = Z + 1
Next
' Get a reference to the ThermaCAM™ Researcher object
Set sess = _
Worksheets("Tabelle1").OLEObjects("Objekt 1").Object
session_num = 1
Do While True
' Store IR image time and spotmeter temperatures
' in the cells
Worksheets(1).Cells(row, col).Value = _
sess.GetNamedValue("Ar01.max")
var1(i) = sess.GetNamedValue("Ar01.max")
i = i + 1
Exit Do
'End If
sess.StepForward
row = row + 1
col = 1
Loop
End Sub
Private Sub UserForm_Click()
End Sub
Bitte helft mir.
Danke
Gruß Marina