как получить самую раннюю дату поддержки Excel программно - PullRequest
2 голосов
/ 21 июля 2011

Excel AddIn, C #, UDF, MyUDF вызывает веб-сервис для получения определенной даты. Иногда возвращаемая дата не находится в диапазоне от 1 января 1900 года до 31 декабря 1999 года (диапазон дат Excel). Например. в одном случае возвращаемая дата - январь 2-0002 (действительна в C #, но недействительна в Excel), а затем происходит сбой Excel. Я не пишу жестко код «Jan-1-1900», поэтому задаюсь вопросом, есть ли способ, которым я могу получить его программно. спасибо

1 Ответ

3 голосов
/ 21 июля 2011

Внутри Excel преобразуйте дату, соответствующую 1, в строку, которую вы можете проанализировать:

=TEXT(1,"dd-mm-yyyy")

, который должен давать вам 01-01-1900 или 02-01-1904 в зависимости от выбранной системы дат (от начала до конца!). Обратите внимание, что системы дат отличаются не только на четыре года, но и тем, что в одном случае значение 1 соответствует 1 января (в 1900 году), а в другом - 0, что соответствует 1 января (в 1904 году). Для данной рабочей книги свойство Workbook.Date1904 может указать, какая система дат используется.

...