Форум программистов, компьютерный форум CyberForum.ru

C++: COM, OLE, ActiveX

Войти
Регистрация
Восстановить пароль
 
Djony1987
86 / 0 / 1
Регистрация: 03.04.2016
Сообщений: 4
#1

Добавление объекта в Excel - C++ COM

26.04.2016, 19:41. Просмотров 396. Ответов 0
Метки нет (Все метки)

Здравствуйте!
Стоит задача добавить в конкретную ячейку объект (рисунок или документ). Используeтся Excel 2013. Программирую в XE Builder 10.
На одном из формумом нашел такое решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
try {
        App = CreateOleObject("Excel.Application");
        } catch (...) {
            MessageBoxA(NULL, "Не могу запустить сервер Microsoft Excel. Продолжение невозможно.", "Ошибка", MB_ICONERROR);
            return;
        }
        Books = App.OlePropertyGet("Workbooks");
        App.OlePropertySet("Visible", true); 
        App.OlePropertySet("SheetsInNewWorkbook", 1); 
        Books.OleProcedure("Add");
        Book = Books.OlePropertyGet("Item", 1);
        Sheets = Book.OlePropertyGet("Worksheets");
        Sheet = Sheets.OlePropertyGet("Item", 1);
        Sheet.OleProcedure("Activate");
        Cells = Sheet.OlePropertyGet("Cells");
 
        Function OleObjAdd("Add");
        Variant obj = Sheet.OlePropertyGet("OLEObjects");
        OleObjAdd.ClearArgs();
        obj.Exec(OleObjAdd << NamedParm("Filename", "D:\\test.jpeg") << NamedParm("Link", false) << NamedParm("DisplayAsIcon", false));
 
        ShowMessage("Done.");
Программа запускается, но при запуске функции открывает Excel и говорит, что памяти недостаточно.
Из-за чего это может быть? Есть ли другие способы добавить объект?

Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2016, 19:41     Добавление объекта в Excel
Посмотрите здесь:

Excel 2007 и Win32 Console application. Не выводятся в ячейки Excel данные из приложения C++ COM
OleVariant и передача объекта. (Delphi) C++ COM
C++ COM Доступ или создание объекта в другом потоке
C++ COM Cpp builder-Ole-Excel. WideString пишет в ячейку Excel минус перед нулем
C++ COM Передать из com-объекта CImageList
C++ COM Использование COM объекта
C++ COM Создание COM объекта
Как получить библиотеку типа *.tlb из COM-объекта *.exe C++ COM
C++ COM Как получить данные из объекта?
Разработка com объекта с графическим интерфейсом C++ COM
COM: SAFEARRAY добавление элементов C++ COM
Добавление картинки в Excel C++ COM

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 13:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru