Как впоследствии выяснилось, Notesdatatime - глючный класс; то ли вычитает дату неверно, то ли берет не так... Короче, пока я свои ф-ции не написал - у меня неправильно время считалось. А вот дни хорошо прибавляет.
Ф-ция удаления выходных:
On Error Goto errh
analize_weekends=0
If time1.DateOnly=time2.DateOnly Then
Exit Function
End If
Dim s1 As Variant
Dim day1 As Variant
While Datevalue(Cstr(time1.DateOnly))<Datevalue(Cstr(time2.DateOnly))
day1=Weekday(time1.DateOnly)
If Cint(day1)=1 Then day1=7 Else day1=day1-1
If day1=7 Or day1=6 Then analize_weekends=analize_weekends+86400
Call time1.AdjustDay(1)
Wend
Exit Function
Ф-ция подсчета секунд в промежутке дней, с ней и были сложности, если использовать TimeDifference.
On Error Goto errh
Dim s1 As Variant
Deprive_seconds=0
While Datevalue(Cstr(time1.DateOnly))<Datevalue(Cstr(time2.DateOnly))
Deprive_seconds=Deprive_seconds+86400
Call time1.AdjustDay(1)
Wend