использование Com в Visualc++

  • Автор темы IPavel
  • Дата начала
I

IPavel

Гость
#1
Здравствуйте.​
Подскажите, пожалуйста, как можно подключить com объект (например, Excel) к проекту, написанному в VisualC++?

На VisualC++ мне писать ещё не приходилось. Попробовал использовать подход C++Builder:

Код:
Variant App, Books, Book, Sheets, Sheet;

App=Variant::CreateObject("Excel.Application");
App.OlePropertySet("Visible",true);
Books=App.OlePropertyGet("Workbooks");
Books.OleFunction("Open", Имя_файла);
Book=App.OlePropertyGet("ActiveWorkbook");
Sheets=Book.OlePropertyGet("Worksheets");
Sheet=Book.OlePropertyGet("Worksheets",1);
Sheet.OleFunction("Select");
При этом вылетает множество ошибок. Первая из них – неизвестный тип Variant. Может быть, в Visual C++ нужно вызывать com-объекты как-то по-другому?

Программа, в которую сейчас нужно включить com написана на чистом C довольно давно и не мной. Она включает три lib файла и пользовательский файл, содержащий изменяемые функции. Опции проекта такие:

/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/Ex1Rop.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c.

Те, кто работал с программой до меня, говорят, что при изменении опций программа начинает работать неправильно.