Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создать таблицу Excel в Visual Studio 6.0 
V
    Опции темы
zav74
Дата 4.8.2008, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 19.7.2006

Репутация: нет
Всего: нет



Хочу из программы вызвать Excel и создать в ней таблицу и заполнить ее.
Код

struct __declspec(uuid("AC0714F2-3D04-11D1-AE7D-00A0C90F26F4"));

#import "c:\Program Files\Common Files\Microsoft Shared\OFFICE10\MSO.DLL" 
using namespace Office;

#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
#import "c:\Program Files\Microsoft Office\OFFICE10\EXCEL.exe"

using namespace Excel;


И вот на этом пишет кучу ошибок. Подскажите поподробнее-как это сделать. Или ссылочку на литературу.
PM MAIL   Вверх
zav74
Дата 6.8.2008, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 19.7.2006

Репутация: нет
Всего: нет



И все таки получилось.
Код

#pragma once

#import "C:\Program Files\Common Files\Microsoft Shared\OFFICE10\MSO.DLL"\
        rename("RGB","_RGB")
using namespace Office;
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
#import "c:\Program Files\Microsoft Office\OFFICE10\EXCEL.exe"\
        rename("ReplaceText","_ReplaceText")\
        rename("CopyFile","_CopyFile")\
        rename("DialogBox","_DialogBox")\
        rename("RGB","_RGB")\
        exclude("IFont","IPicture")


using namespace Excel;


Теперь вот только непонятно, что будет, если скомпиленный exe-шник запустить на машине с Excel, который установлен в другом месте? Вроде проверил на одной-заработало, но нет гарантии?
PM MAIL   Вверх
xvr
Дата 6.8.2008, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(zav74 @ 6.8.2008,  09:38)
И все таки получилось.
Код

#pragma once

#import "C:\Program Files\Common Files\Microsoft Shared\OFFICE10\MSO.DLL"\
        rename("RGB","_RGB")
using namespace Office;
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
#import "c:\Program Files\Microsoft Office\OFFICE10\EXCEL.exe"\
        rename("ReplaceText","_ReplaceText")\
        rename("CopyFile","_CopyFile")\
        rename("DialogBox","_DialogBox")\
        rename("RGB","_RGB")\
        exclude("IFont","IPicture")


using namespace Excel;


Теперь вот только непонятно, что будет, если скомпиленный exe-шник запустить на машине с Excel, который установлен в другом месте? Вроде проверил на одной-заработало, но нет гарантии?

Заработает, главное, что бы Excel вообще был установлен (COM объектам до лампочки, где расположенны их сервера)

PM MAIL   Вверх
zav74
Дата 6.8.2008, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 19.7.2006

Репутация: нет
Всего: нет



На всякий случай спрашиваю. То есть пути, которые прописаны в #import, важны только для компиляции? А как проверить, что Excel установлен?
PM MAIL   Вверх
xvr
Дата 7.8.2008, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(zav74 @ 6.8.2008,  13:52)
На всякий случай спрашиваю. То есть пути, которые прописаны в #import, важны только для компиляции? 

Да

Цитата

А как проверить, что Excel установлен?
Попробовать создать объект Excel.Application, если не получится - то не установлен
Или проверить существование ветки реестра HKCR\Excel.Application (что почти тоже самое)

PM MAIL   Вверх
zav74
Дата 7.8.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 19.7.2006

Репутация: нет
Всего: нет



Спасибо! Вроде получилось.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.