[C#->Excel] Как заставить работать метод AddPicture с Office200
может, анализировать Excel.Application.Version?
Я продумывал и пробовал такой вариант, но дело в том, что даже если выяснить версию установленного Офиса и попытаться разнести соответствующие вызовы в if ... else ..., то такую конструкцию просто не пропускает компилятор. Говорит как обычно в этих случаях, типа "не могу привести тип Long к типу MsoTriState".
А может кто знает как отключить проверку соответствия типов компилятором? Хотя бы для одного оператора?
А может кто знает как отключить проверку соответствия типов компилятором? Хотя бы для одного оператора?
MsoTriStateTrue, False, IDontKnow?

русские прогеры что ли писали?
Tri вместо Three
Tri вместо Three
Tri - это не от русского.
Это от латинского triplus - тройной.
Это от латинского triplus - тройной.
Варианта два: либо собирать отдельно куски кода, вызывающие функции для разных версий офиса, либо (имхо, предпочтительный вариант) использовать позднее связывание.
Мне последний способ не раз приходилось использовать при вызове некоторых функций из-под Delphi, т.к. они попросту нормально не работают. Там это делается через приведение типа к OLEVariant.
Мне последний способ не раз приходилось использовать при вызове некоторых функций из-под Delphi, т.к. они попросту нормально не работают. Там это делается через приведение типа к OLEVariant.
Оставить комментарий
MICH51
Необходимо на C# написать экспорт данных из БД в файл Excel. В числе прочего экспортируются картинки (файлы *.jpg). Экспорт картинок осуществляется с помощью метода AddPicture. Проблема в том, что реализация AddPicture различна для Office 2000 и 2003.Так для Office 2000 сигнатура метода следующая:
где LinkToFile и SaveWithDocument переменные типа LONG.
Для Office 2003 на первый взгляд то же:
но LinkToFile и SaveWithDocument уже переменные типа MsoTriState!
Итого:
прекрасно работает на компьютере на котором установлен Office 2003, но вылетает с ошибкой на компьютере с Office 2000 (данное исключение даже не ловится try...catch).
Как можно написать процедуру экспорта картинок не зависящую от установленного пакета Office?