Здравствуйте!
Имеется проблема: у меня возникла необходимость генерировать некоторые excel-файлы и в них диаграмы. Пишу я на VC++ 6.0. Имеются ли готовые средства для VС++, которые могут упростить работу с Excel или придется копаться в его интерфейсах самому? Если таких средств нет, то имеет ли кто опыт в работах такого рода? Если кто-то имеет, не мог ли уважаемый джин прислать свою контактную информацию (мыло или аську) чтобы я мог его (уважаемого джина) потерзать более конкретныи вопросами? Бо очень надо.
Заранее благодарен,
пиво за мной,
Чернов Евгений.
Здравствуйте Cory, Вы писали:
C>Здравствуйте! C>Имеется проблема: у меня возникла необходимость генерировать некоторые excel-файлы и в них диаграмы. Пишу я на VC++ 6.0. Имеются ли готовые средства для VС++, которые могут упростить работу с Excel или придется копаться в его интерфейсах самому? Если таких средств нет, то имеет ли кто опыт в работах такого рода? Если кто-то имеет, не мог ли уважаемый джин прислать свою контактную информацию (мыло или аську) чтобы я мог его (уважаемого джина) потерзать более конкретныи вопросами? Бо очень надо.
Неясно, читал ли не менее уважаемый джинн:
1) статьи IT про MS Office в MFC и про директиву #import (здесь же на сайте);
2) MSDN на предмет MS Office 2000/Visual Basic Programmer's Guide.
Если да, то какие вопросы есть конкретно?
Здравствуйте retalik, Вы писали:
R>Здравствуйте Cory, Вы писали:
C>>Здравствуйте! C>>Имеется проблема: у меня возникла необходимость генерировать некоторые excel-файлы и в них диаграмы. Пишу я на VC++ 6.0. Имеются ли готовые средства для VС++, которые могут упростить работу с Excel или придется копаться в его интерфейсах самому? Если таких средств нет, то имеет ли кто опыт в работах такого рода? Если кто-то имеет, не мог ли уважаемый джин прислать свою контактную информацию (мыло или аську) чтобы я мог его (уважаемого джина) потерзать более конкретныи вопросами? Бо очень надо.
R>Неясно, читал ли не менее уважаемый джинн: R>1) статьи IT про MS Office в MFC и про директиву #import (здесь же на сайте); R>2) MSDN на предмет MS Office 2000/Visual Basic Programmer's Guide. R>Если да, то какие вопросы есть конкретно?
Уже читал, спасибо за подсказку. Проблему однако это не решило.
Директива #import и все прочее, насколько я понял, в состоянии помочь только в случае с небольшими и несложными объектами. MS Excel для нее сложненький, видимо, потому что в одном только .tlh он мне дает 118 ошибок. А в гиде к ВБ (у меня в MSDN, по крайней мере) информация довольно скудная и все равно остается непонятным как эти интерфейсы с минимальными потерями использовать в VC. Я не хочу ручками прописывать GUIDы и описания интерфейсов . От тако та. Если я в чем-то неправ — вразумите пожалуйста.
Здравствуйте Cory, Вы писали:
C>Уже читал, спасибо за подсказку. Проблему однако это не решило. C>Директива #import и все прочее, насколько я понял, в состоянии помочь только в случае с небольшими и несложными объектами. MS Excel для нее сложненький, видимо, потому что в одном только .tlh он мне дает 118 ошибок.
Да нет, #import помогает в львиной доле случаев. (мы все еще о VC говорим? )
Просто при включении надо разрешать конфликты имен.
Вот, я кому-то уже делал компилируемый пример (только файлики .dll и .olb надо в текущий каталог программы перетащить):
C>А в гиде к ВБ (у меня в MSDN, по крайней мере) информация довольно скудная и все равно остается непонятным как эти интерфейсы с минимальными потерями использовать в VC. Я не хочу ручками прописывать GUIDы и описания интерфейсов . От тако та. Если я в чем-то неправ — вразумите пожалуйста.
Тогда надо читать MSDN->Office developer documentation->Office 2000 documentation->Microsoft Office 2000 Language Reference.
Причем IT дал универсальный совет: чтобы узнать, как что-то сделать программно, надо включить запись макросов и сделать это ручками. А потом макрос в программу на C++ перевести — как два байта переслать
В MSDN не рекомендуется использовать #import при работе с Office, ввиду того, что его объектная модель слишком сложна.
Вопрос: может, кто-нибудь знает, к каким реальным неприятностям это может привести?
У меня из неприятностей — остающийся в памяти сервер (если, конечно, не вызывать Quit()).
Здравствуйте frogge, Вы писали:
F>В MSDN не рекомендуется использовать #import при работе с Office, ввиду того, что его объектная модель слишком сложна.
Напиши VB- или J- Script и вызывай его из C++
F>Вопрос: может, кто-нибудь знает, к каким реальным неприятностям это может привести?
Это просто сложно, вот и всё. Например, иногда приходится объявлять промежуточные переменные, т.к. метод возвращает IDispatch, который нужно привести к ISomeOfficeObjectPtr. Скриптовые языки это делают автоматически, на C++ приходится копать глубже.
F>У меня из неприятностей — остающийся в памяти сервер (если, конечно, не вызывать Quit()).
Это не неприятность, это by design
Если нам не помогут, то мы тоже никого не пощадим.