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