Для получения переменной из Excel в среде C++ Builder используется технология OLE (технология связи и внедрения объектов или Object Linking and Embedding). Именно благодаря использованию данной технологии можно создавать документы, которые будут в качестве элементов содержать объекты, созданные при помощи других приложений.
В этой заметке я расскажу о том, как самым простым способом получить переменную из книги Excel.
Прежде всего, в создаваемое приложение необходимо включить такие модули:
#include "ComObj.hpp"
#include "utilcls.h"
После этого необходимо создать переменную типа Variant
предназначенную для сохранения результатов вызова функции CreateOleObject
. Выглядит это так:
Variant Excel;
Excel=CreateOleObject("Excel.Application");
Теперь необходимо открыть файл. Сделать это можно следующим образом:
AnsiString FileName=GetCurrentDir()+"\\File.xls";
Excel.OlePropertyGet("Workbooks").OleProcedure("Open",FileName.c_str());
Для того, чтоб сделать открытую страницу невидимой используется такая строка:
Excel.OlePropertySet("Visible",false);
Непосредственное получение переменной производится так:
String p=Excel.OlePropertyGet("Cells",1,1);
При этом будет выбрана ячейка А:1 (т.е. нумерация ячеек по вертикали и горизонтали начинается не с 0, а с 1).
Удачных экспериментов!