Hallo zusammen,
ich habe bei der veränderung eines scripts ein Problem
Das Script soll anstatt ein einzelnes Dokument alle Dokumente der Ansicht ("Temp_Nextruntime") neu berechnen.
Hat jemand eine Idee?
Gruß Heiner
Sub Initialize
Dim session As New NotesSession
Dim timeFrag As String, hoursFrag As String
Dim minutesFrag As String, secondsFrag As String
Dim crlf As String, message As String
Dim hours As Integer
Dim qfeld As Variant
Dim qfeld2 As Integer
Dim qfeld3 As Variant
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim ausgabe As String
Dim Fall As String
Dim Falltage As String
Dim Fallwochen As String
Dim Fallwochen1 As String
Dim Fallwochen2 As Integer
Dim Fallmonat As Variant
Dim Fallmonat1 As Variant
Dim akiv As Variant
Set uidoc = workspace.CurrentDocument
crlf$ = Chr(13) & Chr(10) ' Carriage return/line feed
Set doc = uidoc.Document
aktiv = uidoc.FieldGetText( "aktiv" )
If aktiv = "Ja" Then
Fall=uidoc.FieldGetText( "rhytmus" )
'##################################################################################################
'##################################################################################################
' Fall 1 Nach Tagen
'##################################################################################################
'##################################################################################################
'Temp vars V1 to 13
ausgabe = "leer"
If Fall = "Nach Tagen" Then
Falltage=uidoc.FieldGetText( "Tage2")
'-----------------------------------------------------------------------------------------------------
' Nach Minuten
'-----------------------------------------------------------------------------------------------------
If Falltage="Minute/Minuten" Then
qfeld= uidoc.FieldGetText( "erste_ausfuehrung2" )
timeFrag$ = Format(Time, "hh:mm")
' ------------------------------------------------------------------------------------------------
If timefrag$ < qfeld Then
' Messagebox("2.funkion später")
V1min= Minute(qfeld) -Minute(Time)'Minutendifferenz
If V1min <0 Then
V1min = V1min / -1
End If
' Messagebox(V1min)
V1std= Hour(qfeld)-Hour(Time) 'Stundendifferenz
If V1std <> 0 Then
V1std= V1std-1
End If
' Messagebox(V1std)
qfeld2= uidoc.FieldGetText( "Tage1" )
V1diff = V1min + (V1std*60)'Differenz in min
' Messagebox(V1diff)
V2 =V1diff\qfeld2
' Messagebox( V2)
V3 =V1diff-(V2*qfeld2)
' Messagebox( V3)
V4=qfeld2-V3
If V4 = 1 Then
ausgabe ="in einer Minute"
Elseif V3 = 0 Then
ausgabe = "wird ausgeführt"
Else
ausgabe = "in " & V4 & " Minuten"
End If
End If
If timefrag$> qfeld Then
' Messagebox("1.Funktion vorher")
V1min= Minute(Time)- Minute(qfeld) 'Minutendifferenz
If V1min <0 Then
V1min = V1min / -1
End If
' Messagebox(V1min)
V1std= Hour(Time)- Hour(qfeld) 'Stundendifferenz
' Messagebox(V1std)
qfeld2= uidoc.FieldGetText( "Tage1" )
V1diff = V1min + (V1std*60)'Differenz in min
' Messagebox(V1diff)
V2 =V1diff\qfeld2
' Messagebox( V2)
V3 =V1diff-(V2*qfeld2)
' Messagebox( V3)
V4=qfeld2-V3
If V4 = 1 Then
ausgabe ="in einer Minute"
Elseif V3 = 0 Then
ausgabe = "wird ausgeführt"
Else
ausgabe = "in " & V4 & " Minuten"
End If
End If
If Timefrag$ = qfeld Then
'Messagebox( "gleich")
ausgabe = "wird ausgeführt"
End If
End If
'-----------------------------------------------------------------------------------------------------
' Nach stunden
'-----------------------------------------------------------------------------------------------------
If Falltage="Stunde/Stunden" Then
timeFrag$ = Format(Time, "hh:mm")
qfeld= uidoc.FieldGetText( "erste_ausfuehrung2" )
If timefrag$ < qfeld Then
' Messagebox("2.funkion später")
V1min= Minute(qfeld) -Minute(Time)'Minutendifferenz
If V1min <0 Then
V1min = V1min / -1
End If
' Messagebox(V1min)
V1std= Hour(qfeld)-Hour(Time) 'Stundendifferenz
' If V1std <> 0 Then
' V1std= V1std-1
' End If
' Messagebox(V1std)
qfeld2= uidoc.FieldGetText( "Tage1" )
V1diff = V1min + (V1std*60)'Differenz in min
' Messagebox(V1diff)
V2 =V1diff\(qfeld2*60) '60 - stündlich
' Messagebox( V2)
V3 =V1diff-(V2*(qfeld2*60))
' Messagebox( V3)
' V4=(qfeld2*60)-V3
If V3 = 1 Then
ausgabe ="in einer Minute"
Elseif V3 = 0 Then
ausgabe = "wird ausgeführt"
Elseif V3 = 60Then
ausgabe ="in einer Stunde"
Elseif V3< 59.99 Then
ausgabe = "in " & V4 & " Minuten"
Elseif V3 > 60.1Then
V5 = V3\60
V6= V3/60
V7 = (V6 - V5) *60
ausgabe= "in " & V5 & " Stunde(n) und " & V7 & " Minuten"
End If
End If
If timefrag$> qfeld Then
' Messagebox("1.Funktion vorher")
V1min= Minute(Time)- Minute(qfeld) 'Minutendifferenz
If V1min <0 Then
V1min = V1min / -1
End If
' Messagebox(V1min)
V1std= Hour(Time)- Hour(qfeld) 'Stundendifferenz
' Messagebox(V1std)
qfeld2= uidoc.FieldGetText( "Tage1" )
V1diff = V1min + (V1std*60)'Differenz in min
' Messagebox(V1diff)
V2 =V1diff\(qfeld2*60)
' Messagebox( V2)
V3 =V1diff-(V2*(qfeld2*60))
' Messagebox( V3)
V4=(qfeld2*60)-V3
If V4 = 1 Then
ausgabe ="in einer Minute"
Elseif V3 = 0 Then
ausgabe = "wird ausgeführt"
Elseif V4 = 60Then
ausgabe ="in einer Stunde"
Elseif V4< 59.99 Then
ausgabe = "in " & V4 & " Minuten"
Elseif V4 > 60.1Then
V5 = V4\60
V6= V4/60
V7 = (V6 - V5) *60
ausgabe= "in " & V5 & " Stunde(n) und " & V7 & " Minuten"
End If
End If
End If
'-----------------------------------------------------------------------------------------------------
' Nach Tagen
'-----------------------------------------------------------------------------------------------------
If Falltage="Tag/Tage" Then
timeFrag$ = Format(Time, "hh:mm")
qfeld= uidoc.FieldGetText( "erste_ausfuehrung2" )
qfeld3= uidoc.FieldGetText( "erste_ausfuehrung" )
qfeld2= uidoc.FieldGetText( "Tage1" )
V8= Day(qfeld3)
V9= Day(Date)
' Messagebox(V8 & " + " & V9)
If V9>V8 Then
V10 = V9-V8
V13= 1
Elseif V9<V8 Then
V10= V8-V9
End If
V11= V10\qfeld2
V12= V10-(V11*qfeld2)
If V13= 1Then
V12= qfeld2-V12
End If
' Messagebox( V10 & " -- " & V11 & " -- " & V12)
If timefrag$ < qfeld Then
' Messagebox("2.funkion später")
V1min= Minute(qfeld) -Minute(Time)'Minutendifferenz
If V1min <0 Then
V1min = V1min / -1
End If
' Messagebox(V1min)
V1std= Hour(qfeld)-Hour(Time) 'Stundendifferenz
If V1std <> 0 Then
V1std= V1std-1
End If
' ' Messagebox(V1std)
V1diff = V1min + (V1std*60)'Differenz in min
' Messagebox(V1diff)
V2 =V1diff\(qfeld2*60) '60 - stündlich
' Messagebox( V2)
V3 =V1diff-(V2*(qfeld2*60))
' Messagebox( V3)
V4=(qfeld2*60)-V3
If V12= 0 Then
If V3 = 1 Then
ausgabe ="in einer Minute"
Elseif V3 = 0 Then
ausgabe = "wird ausgeführt"
Elseif V3 = 60Then
ausgabe ="in einer Stunde"
Elseif V3< 59.99 Then
ausgabe = "in " & V4 & " Minuten"
Elseif V3 > 60.1Then
V5 = V3\60
V6= V3/60
V7 = (V6 - V5) *60
ausgabe= "in " & V5 & " Stunde(n) und " & V7 & " Minuten"
End If
Elseif V12= 1 Then
ausgabe = "morgen"
Else
ausgabe = "in " & V12 & " Tag(en)"
End If
End If
If timefrag$> qfeld Then
' Messagebox("1.Funktion vorher")
V1min= Minute(Time)- Minute(qfeld) 'Minutendifferenz
If V1min <0 Then
V1min = V1min / -1
End If
' Messagebox(V1min)
V1std= Hour(Time)- Hour(qfeld) 'Stundendifferenz
' Messagebox(V1std)
qfeld2= uidoc.FieldGetText( "Tage1" )
V1diff = V1min + (V1std*60)'Differenz in min
' Messagebox(V1diff)
V2 =V1diff\(qfeld2*60)
' Messagebox( V2)
V3 =V1diff-(V2*(qfeld2*60))
' Messagebox( V3)
V4=(qfeld2*60)-V3
If V12= 0 Then
If V4 = 1 Then
ausgabe ="in einer Minute"
Elseif V3 = 0 Then
ausgabe = "wird ausgeführt"
Elseif V4 = 60Then
ausgabe ="in einer Stunde"
Elseif V4< 59.99 Then
ausgabe = "in " & V4 & " Minuten"
Elseif V4 > 60.1Then
V5 = V4\60
V6= V4/60
V7 = (V6 - V5) *60
ausgabe= "in " & V5 & " Stunde(n) und " & V7 & " Minuten"
End If
Elseif V12= 1 Then
ausgabe = "morgen"
Else
ausgabe = "in " & V12 & " Tag(en)"
End If
End If
If Timefrag$ = qfeld Then
'Messagebox("gleich")
ausgabe = "wird ausgeführt"
End If
End If
End If
'##################################################################################################
'##################################################################################################
' Fall 2 Nach Wochen
'##################################################################################################
'##################################################################################################
'temp Vars: V50 to
' Dim Fallwochen As String
' Dim Fallwochen1 As String
' Dim Fallwochen2 As Integer
If Fall = "Nach Wochen" Then
Fallwochen= uidoc.FieldGetText( "Woche1" )
Fallwochen1 = uidoc.FieldGetText( "Woche2" )
qfeld= uidoc.FieldGetText( "erste_ausfuehrung" )
qfeld3= uidoc.FieldGetText( "erste_ausfuehrung2" )
timeFrag$ = Format(Time, "hh:mm")
V51 = Csng(Cdat(qfeld))
V52 = Csng(Date)
V53 = V52-V51
V54 = V53\7
V55 = V54\Fallwochen
V56= V54-(V55*Fallwochen)
'Messagebox ( V51 & " --- " & V52 & " --- " & V53 & " --- " & V54 & " --- " & V55 & " --- " & V56)
If V56 >0 Then
If V56 = 1 Then
ausgabe = "nächste Woche"
Else
ausgabe = "In " & V56 & " Wochen"
End If
Elseif V56 = 0 Then
V61= Instr(Fallwochen1,"Sonntag")
V62= Instr(Fallwochen1,"Montag")
V63= Instr(Fallwochen1,"Dienstag")
V64= Instr(Fallwochen1,"Mittwoch")
V65= Instr(Fallwochen1,"Donnerstag")
V66= Instr(Fallwochen1,"Freitag")
V67= Instr(Fallwochen1,"Samstag")
'-----------------------------------------------------------Sonntag
' Messagebox(V61 & " - " & V62 & " - " & V63 & " - " & V64 & " - " & V65 & " - " & V66 & " - " & V67 & "-" & Weekday(Date) )
V60 = Weekday(Date)
If V60 = 1 Then
If V61 >0 Then
ausgabe = "Heute um: " & qfeld3
Goto EndeSonntag
End If
If V62 >0 Then
ausgabe = "Morgen um: " & qfeld3
Goto EndeSonntag
End If
If V63 >0 Then
ausgabe = "In 2 Tagen"
Goto EndeSonntag
End If
If V64 >0 Then
ausgabe = "In 3 Tagen"
Goto EndeSonntag
End If
If V65 >0 Then
ausgabe = "In 4 Tagen"
Goto EndeSonntag
End If
If V66 >0 Then
ausgabe = "In 5 Tagen"
Goto EndeSonntag
End If
If V67 >0 Then
ausgabe = "In 6 Tagen"
Goto EndeSonntag
End If
EndeSonntag:
'-----------------------------------------------------------Montag
End If
If V60= 2 Then
If V62 >0 Then
ausgabe = "Heute um: " & qfeld3
Goto Endemontag
End If
If V63 >0 Then
ausgabe = "Morgen um: " & qfeld3
Goto Endemontag
End If
If V64 >0 Then
ausgabe = "In 2 Tagen"
Goto Endemontag
End If
If V65 >0 Then
ausgabe = "In 3 Tagen"
Goto Endemontag
End If
If V66 >0 Then
ausgabe = "In 4 Tagen"
Goto Endemontag
End If
If V67 >0 Then
ausgabe = "In 5 Tagen"
Goto Endemontag
End If
If V61>0 Then
ausgabe = "In 6 Tagen"
Goto Endemontag
End If
End If
Endemontag:
'-----------------------------------------------------------Dienstag
If V60 = 3 Then
If V63 >0 Then
ausgabe = "Heute um: " & qfeld3
Goto Endedtag
End If
If V64 >0 Then
ausgabe = "Morgen um: " & qfeld3
Goto Endedtag
End If
If V65 >0 Then
ausgabe = "In 2 Tagen"
Goto Endedtag
End If
If V66 >0 Then
ausgabe = "In 3 Tagen"
Goto Endedtag
End If
If V67 >0 Then
ausgabe = "In 4 Tagen"
Goto Endedtag
End If
If V61 >0 Then
ausgabe = "In 5 Tagen"
Goto Endedtag
End If
If V62 >0 Then
ausgabe = "In 6 Tagen"
Goto Endedtag
End If
Endedtag:
End If
'-----------------------------------------------------------Mittwoch
If V60 = 4 Then
If V64 >0 Then
ausgabe = "Heute um: " & qfeld3
Goto Endemw
End If
If V65 >0 Then
ausgabe = "Morgen um: " & qfeld3
Goto Endemw
End If
If V66 >0 Then
ausgabe = "In 2 Tagen"
Goto Endemw
End If
If V67 >0 Then
ausgabe = "In 3 Tagen"
Goto Endemw
End If
If V61 >0 Then
ausgabe = "In 4 Tagen"
Goto Endemw
End If
If V62 >0 Then
ausgabe = "In 5 Tagen"
Goto Endemw
End If
If V63 >0 Then
ausgabe = "In 6 Tagen"
Goto Endemw
End If
Endemw:
End If
'-----------------------------------------------------------Donnerstag
If V60 = 5 Then
If V65 >0 Then
ausgabe = "Heute um: " & qfeld3
Goto Endedo
End If
If V66 >0 Then
ausgabe = "Morgen um: " & qfeld3
Goto Endedo
End If
If V67 >0 Then
ausgabe = "In 2 Tagen"
Goto Endedo
End If
If V61 >0 Then
ausgabe = "In 3 Tagen"
Goto Endedo
End If
If V62 >0 Then
ausgabe = "In 4 Tagen"
Goto Endedo
End If
If V63 >0 Then
ausgabe = "In 5 Tagen"
Goto Endedo
End If
If V64 >0 Then
ausgabe = "In 6 Tagen"
Goto Endedo
End If
Endedo:
End If
'-----------------------------------------------------------Freitag
If V60 = 6Then
If V66 >0 Then
ausgabe = "Heute um: " & qfeld3
Goto Endefr
End If
If V67 >0 Then
ausgabe = "Morgen um: " & qfeld3
Goto Endefr
End If
If V61 >0 Then
ausgabe = "In 2 Tagen"
Goto Endefr
End If
If V62 >0 Then
ausgabe = "In 3 Tagen"
Goto Endefr
End If
If V63 >0 Then
ausgabe = "In 4 Tagen"
Goto Endefr
End If
If V64 >0 Then
ausgabe = "In 5 Tagen"
Goto Endefr
End If
If V65>0 Then
ausgabe = "In 6 Tagen"
Goto Endefr
End If
Endefr:
End If
'----------------------------------------------------------------------Samstag
If V60 = 7 Then
If V67 >0 Then
ausgabe = "Heute um: " & qfeld3
Goto Endesa
End If
If V61 >0 Then
ausgabe = "Morgen um: " & qfeld3
Goto Endesa
End If
If V62 >0 Then
ausgabe = "In 2 Tagen"
Goto Endesa
End If
If V63 >0 Then
ausgabe = "In 3 Tagen"
Goto Endesa
End If
If V64 >0 Then
ausgabe = "In 4 Tagen"
Goto Endesa
End If
If V65 >0 Then
ausgabe = "In 5 Tagen"
Goto Endesa
End If
If V66>0 Then
ausgabe = "In 6 Tagen"
Goto Endesa
End If
Endesa:
End If
End If
'-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
End If
'##################################################################################################
'##################################################################################################
' Fall 3 Nach Monaten
'##################################################################################################
'##################################################################################################
'temp Vars V30-41
' Dim Fallmonat As Variant
' Dim Fallmonat1 As Variant
If Fall = "Nach Monaten" Then
qfeld= uidoc.FieldGetText( "erste_ausfuehrung" )
qfeld3= uidoc.FieldGetText( "erste_ausfuehrung2" )
Fallmonat1= uidoc.FieldGetText( "Monat2" )
timeFrag$ = Format(Time, "hh:mm")
V30= Day(Date)
V31=Int(Fallmonat1)
V32=Month(Date)
V33=Month(qfeld)
V34=Year(Date)*12
V35=Year(qfeld)*12
V36= V34-V35 'Jahresdifferenz in monaten
V37=V32-V33
V38= V36+V37
'Messagebox (V38)
Fallmonat = uidoc.FieldGetText( "Monat3" )
V39= (V38\Fallmonat)
V40= V38-(V39*Fallmonat)
' V41= Fallmonat - V40
'Messagebox(V41)
If V40= 0 Then
If V31 = V30 Then
If qfeld3 > timeFrag$ Then
ausgabe = "Heute um: " & qfeld3 & " Uhr"
Elseif qfeld3 = timeFrag$ Then
ausgabe= "wird ausgeführt"
Elseif qfeld3 < timeFrag$ Then
ausgabe = "In " & Fallmonat & " Monaten"
End If
End If
If V31 <V30 Then
ausgabe = "In " & Fallmonat & " Monaten"
End If
If V31> V30 Then
V42= V31 -V30
ausgabe = "In " & V42 & " Tagen"
End If
Elseif V40 >0 Then
ausgabe = "In " & V40 & " Monaten"
End If
' If V32<V33 Then
End If
'##################################################################################################
'##################################################################################################
' Fall 4 Nach Jahre
'##################################################################################################
'##################################################################################################
'temp Vars V20-21
If Fall = "Nach Jahren (jährlich)" Then
qfeld= uidoc.FieldGetText( "erste_ausfuehrung" )
qfeld3= uidoc.FieldGetText( "erste_ausfuehrung2" )
'Messagebox("test")
'Messagebox(Day(Date) &" - "& Day(qfeld) &" -M- "& Month(Date) &" - "& Month(qfeld) &" -M- "& Year(Date) &" - "&Year(qfeld))
If Day(Date) = Day(qfeld) And Month(Date) = Month(qfeld) And Year(Date) >Year(qfeld) Then
If Format(Time,"hh:mm")> qfeld3 Then
ausgabe= "in einem Jahr"
Else
ausgabe = "heute um: " & qfeld3 & " Uhr"
End If
Elseif Day(Date)>Day(qfeld) And Month(Date) = Month(qfeld) And Year(Date) >Year(qfeld) Then
ausgabe= "in einem Jahr"
Elseif Day(Date)<> Day(qfeld) And Month(Date) < Month(qfeld) And Year(Date) >Year(qfeld) Then
V21= Month(qfeld)-Month(Date)
ausgabe= " in " & V21 & " Monaten"
Elseif Day(Date)<> Day(qfeld) And Month(Date) > Month(qfeld) And Year(Date) >Year(qfeld) Then
V21= 12- Month(Date)-Month(qfeld)
ausgabe= " in " & V21 & " Monaten"
Elseif Day(Date)<> Day(qfeld) And Month(Date) <> Month(qfeld) And Year(Date)< Year(qfeld) Then
ausgabe= " erstmaliger Start am " & qfeld
Elseif Day(Date)<Day(qfeld) And Month(Date) = Month(qfeld) And Year(Date) >Year(qfeld) Then
V20= Day(qfeld) - Day(Date)
ausgabe= "in " & V20 & " Tag(en)"
End If
End If
'##################################################################################################
'##################################################################################################
' Fall 5 Durch auslöser
'##################################################################################################
'##################################################################################################
If Fall = "Durch Auslöser"Then
ausgabe ="Eventgesteuert: " & uidoc.FieldGetText( "Auslöser1" )
End If
'##################################################################################################
'##################################################################################################
' --------------------------------------
'##################################################################################################
'##################################################################################################
'temp Vars
Elseif aktiv = "Nein" Then
ausgabe= "Inaktiv"
End If
'Messagebox(ausgabe)
uidoc.EditMode = True
Call uidoc.FieldSetText("next_runtime",ausgabe)
'uidoc.ReplaceItemValue( "next_runtime",ausgabe)
uidoc.EditMode = False
uidoc.Save
End Sub