Как загрузить библиотеку в зависимости от версии Excel?
если не секрет, а зачем?
Автор пишет, что это препроцессорные константы, в настройках проекта.
это вообще
черезжо странный вариант. это значит, что у автора установлено несколько экселей и в зависимости от того, библиотека какого экселя ему нужна, тот #define он и пишет ручками. например, хочется пользоваться библиотекой 2003 офиса, он печатает где-то (например, в stdafx.h #define MSO2003) и компилит проект. в итоге подтягиваются в исполнительный файл все используемые точки входа из указанной либины (это если так, на пальцах).
PS: из своего опыта, уже лет... да уже больше 20-ти, выводим информацию и в ворд и в эксель. информация стандартная, таблички, тексты, формулы. так вот. пользователи наши есть еще и с 97-м офисом (работает и полностью устраивает
). итого, чтоб не изобретать велосипед, за основу взяли "olb" минимально допустимого офиса. во всех остальных офисах точки входа и функции остались теми же. да, новых наворотов нет из-за старого olb-файла, но нам они и не нужны.
#import "EXCEL8.OLB" auto_search auto_rename
вот этого достаточно для того, чтоб создать экселевский документ в MSExcel начиная с 97 до текущего (в зависимости от того, какой установлен у пользователя), в нем кучу страниц, и в каждую вывести кучу разграфленных таблиц с разными границами хоть для каждой группы ячеек, раскрашенных, сгруппированных и с формулами. графики тоже можно, но нет необходимости. ну и разрядность тож роли не играет. работает и в win32 и в x64.
Да, сам OLB должен лежать по пути доступа lib-файлов