С помощью языка C++ можно работать со сторонними программами. Требуется только библиотека-парсер, в которой будут описаны способы взаимодействия с этой программой. Для примера рассмотрим работу с Microsoft Office Excel и компиляторы Borland C++ Builder и Microsoft Visual C++.
В Borland C++ Builder для взаимодействия с Excel достаточно подключения одной библиотеки ComObj.hpp, которая дает возможность оперирования с Ole, благодаря чему и возможно принимать и посылать данные Excel.
Рассмотрим пример такой программы:
Программа выполняет следующую задачу: посредством Ole создает объект (CreateOleObject()), распознаваемый как объект документа Excel. После этого объект exl открывает файл по заданному пути и интерпретирует его (OleProcedure("Open", "D:\\1.xls"). Затем в переменную word выдаются значения клеток.
Итак, при помощи команд OlePropertyGet, OlePropertySet и OleProcedure можно получить доступ ко всем объектам и коллекциям Excel.
Аналогичная программа в Microsoft Visual C++ выглядит следующим образом.
Файл Office.h для версии Excel 2007 года. Для других годов - аналогично.
И файл cpp:
Не работает код для Visual.
Завожу CLR с++ приложении в visual studio 2015, копирую код полностью, меняю путь к файлам excel 2013 и он выдаёт ниже описанную ошибку
Ошибка C2365 Windows: переопределение; предыдущим определением было "пространство имен"
Нужно переделать немного. Часть правок подсказывает Visual С++.
Сложная правка примерно такая:
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB" auto_rename rename("Windows", "ExcelWindows") no_namespace