В Excell через C++
Знаю, многие программы предоставляют такой API. Например, Компас. А семейство Microsoft Office?
Цитата:
Originally posted by Toc_vremenno
Кто знает, как получить доступ к открытому документу Excel? Наподобии макроса, но не VBA, а C++. То есть, запускаю Excel, открываю документ. Тем временем запускаю свою прогу и через неё вписываю значения в ячейки, форматирую и выполняю все возможные операций.
Знаю, многие программы предоставляют такой API. Например, Компас. А семейство Microsoft Office?
Кто знает, как получить доступ к открытому документу Excel? Наподобии макроса, но не VBA, а C++. То есть, запускаю Excel, открываю документ. Тем временем запускаю свою прогу и через неё вписываю значения в ячейки, форматирую и выполняю все возможные операций.
Знаю, многие программы предоставляют такой API. Например, Компас. А семейство Microsoft Office?
Попробуй просто автоматизацию...
обратиться к существующему экзеппляру сервера (Excel) , запросить активный документ и делай с ним что хочешь... т.е. используй COM - ведь Excel это слава богу позволяет :)
Может есть у кого маленький примерчик или ссылка, а то я с COM техлоногией как таковой не знаком пока
Цитата:
Originally posted by Toc_vremenno
Может есть у кого маленький примерчик или ссылка, а то я с COM техлоногией как таковой не знаком пока
Может есть у кого маленький примерчик или ссылка, а то я с COM техлоногией как таковой не знаком пока
посмотри на rsdn
Цитата:
Originally posted by pavor
посмотри на rsdn
посмотри на rsdn
Блин, облазил этот rsdn, ничего толкового не нашёл. Форум вообще очень тяжёлый к восприятию.
Народ, если у кого-нибудь есть рабочий проект, который что-нибудь делает в Excel, скиньте
плз. Мне главное пример посмотреть - дальше сам разберусь.
http://www.rsdn.ru/article/vcpp/import.xml
только там не написано как в уже открытый документ влазить.
Самое основное, что мне понадобилось оттуда, это
http://support.microsoft.com/support/KB/Articles/Q178/7/49.asp. Там описана сама суть. А суть простая. Надо в проект добавить Class from Type Library. Выбираешь из проекта exe-ник, объект которого тебе нужен, выбираешь классы, которые он тебе предоставляет, которые тебе понадобятся и добавляешь их в проект. И дальше уже работаешь с этими классами, как в VBA. Я думал, всё будет гораздо сложнее.
Единственная загвоздка, которая возникла, это то, что пример там расписан для VS 6.0, и мастер добавляет все классы в проект через один заголовочник "excel.h". Прописываешь #include "excel.h", и всё работает. А вот в .NET он почему-то для каждого класса создаёт свой header. И как же их все прописать через #include? Там этих файлов получается несколько сотен!
Но в общем - всё работает. Рекомендую тот линк всем начинающим.
http://support.microsoft.com/support/KB/Articles/Q178/7/49.asp
А предыдущий не работал, потому что в url в конце закралась точка :)))