Как я могу работать с Excel 2007 и Excel 2003 (Excel Chart) из приложения win32, используя COM? - PullRequest
0 голосов
/ 14 февраля 2011

Как я могу работать с Excel 2007 и Excel 2003 (Excel Chart) из приложения win32, используя COM?Где я могу увидеть какие-либо примеры (для Visual Studio 2003) или руководство по этой проблеме?

Ответы [ 2 ]

2 голосов
/ 15 февраля 2011

Используя #import, вы можете получить VC ++ для генерации большого количества кода умного указателя для взаимодействия с COM. Это мой предпочтительный метод автоматизации Office из C ++. Добавьте это в начало вашего исходного файла для генерации файлов и включите соответствующие сгенерированные файлы:

#import "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE11\\MSO.DLL"
#import "C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE"

Очевидно, вам может понадобиться изменить пути к файлам. Вы также можете использовать ID библиотеки типов, что, вероятно, является лучшим решением, если вы работаете в среде с несколькими разработчиками. Существуют и другие проблемы, такие как коллизии имен, и вы должны взглянуть на статью http://www.codeproject.com/KB/wtl/WTLExcel.aspx, в которой все это достаточно хорошо обобщено.

Теперь вы можете использовать Excel через _com_ptr<T>, _bstr_t, _variant_t и другие вспомогательные классы из VC ++.

0 голосов
...