![]() |
#10 |
Участник
|
Есть функция SerialDate2DMY, там идут хитрые преобразования. Вот там можно эти хитрости закомментить и все начнет работать:
DMYDate := 0D; IF NOT EVALUATE(CalcDate{SerialDate},SerialDateText) THEN //Введем переменную CalcDate (дата) EXIT(DMYDate); //хитрые преобразования {IF SerialDate = 0 THEN EXIT(DMYDate); OffsetDate := 01011900D; // do not add last day. SerialDate := SerialDate - 1; // Compensate for Know bug in Excel 1900 is not a leapyear IF SerialDate > 60 THEN SerialDate := SerialDate - 1; NoOfCalc := SerialDate / 9999; NoOfCalc := ROUND(NoOfCalc,1,'<'); RemainingDays := SerialDate MOD 9999; FOR I := 1 TO NoOfCalc DO OffsetDate := CALCDATE('+9999<D>',OffsetDate); IF RemainingDays <> 0 THEN OffsetDate := CALCDATE('+' + FORMAT(RemainingDays) + '<D>',OffsetDate); EXIT(OffsetDate); } EXIT(CalcDate); |
|