Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/179: Рейтинг темы: голосов - 179, средняя оценка - 4.78
Айхрень...
 Аватар для Paulie
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,077

Работа с Word/Excel через Ole/иные способы

20.11.2009, 12:29. Показов 36478. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, товарищи.

Да, много читал всего интересного в Интернет по этому вопросу - и тут, и тут...

Но это всё мне не подходит, точнее сказать следующе:
1. в первом случае не понятно, какая библиотека используется. В стандартной комплектации Windows SDK её нет, возможно она под Борланд? Короче говоря этот способ уместен, если только есливзять чистый COM/OLE, но это достаточно длительное время займёт - изучение этого...
2. Вторая статья - интересная, но вываливает мне не один десяток ошибок... Да и к тому же там никак под 2003. или даже под 2000й офис сделана статья, а под 2007 не пашет, так как имена библиотек уже изменились... Разбирался с этим месяц назад - уже подзабыл маленько...

В общем, просьба такая:
1. Если у вас есть хорошие примерчики для Ole, то скиньте - хоть подразобраться что к чему
2. Если есть примеры со вторым способом - то тоже было бы неплохо на них посмотреть, чтобы понять - в чём не прав я...
3. Может ещё какие есть варианты? Но нужно исходить из того, что программу пишу в Visual C++ c использованием WinAPI...
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.11.2009, 12:29
Ответы с готовыми решениями:

Работа с документом Word через Ole в Delphi
Как можно скопировать текст из одного документа и вставить в определенное место в другом??? Как можно несколько документов соединить в...

Работа с Excel через OLE
Здравствуйте Использую C++ Builder 6, пытаюсь подключится к уже запущеному Excel приложению, использую функцию GetActiveOleObject: ...

Иные способы выхода в интернет
Все видели сегодняшние новости, в которых обмолвились об отключении интернета в России в случае чрезвычайных ситуаций. Конечно, врятли это...

23
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
24.12.2023, 01:11
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Том Ардер Посмотреть сообщение
"C:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\OFFICE10\MSO.DLL" \
решил перепроверить все пути по данным путям нету ни одного файла. Я так понимаю что либо библиотеки поменялись либо что и мне создать заголовочный файл office.h и соотвественно подключить его.
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
24.12.2023, 22:54
Цитата Сообщение от Turboeggs Посмотреть сообщение
На всеобщее (надеюсь) счастье, наткнулся на решение этой проблемы на сайте Microsoft, вот ссылка:
https://docs.microsoft.com/en-... cel-from-c
Импорты не требуются, но, как я понимаю, требуется установленный на комп эксель.
Этот вариант не работает ничего не делает. Плюс там ещё проблема с
C++
1
2
sprintf(buf, "IDispatch::Invoke(\"%s\"=%08lx) failed w/err 0x%08lx", szName, dispID, hr);
        MessageBox(NULL, buf, "AutoWrap()", 0x10010);
Я записал так
C++
1
2
3
4
        //sprintf(buf, "IDispatch::Invoke(\"%s\"=%08lx) failed w/err 0x%08lx", szName, dispID, hr);
StringCchPrintfA(buf,STRSAFE_MAX_CCH/20,"IDispatch::Invoke(\"%s\"=%08lx) failed w/err 0x%08lx",szName, dispID);
 
        MessageBoxA(NULL, buf, "AutoWrap()", 0x10010);
Мне не понятно что делать с hr. Код скомпилился но ничего не делает даже с открытым экселем.

Добавлено через 1 минуту
А не делает заполняет таблицу и открывает файл. Ну если этот варинат доработать чтобы можно было дать название книге было бы хорошо.
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
24.12.2023, 22:57
Вот скрин. MessageBox я отменил и подключил
C++
1
2
3
4
5
#include <ole2.h>
#include "windows.h"
#include "winuser.h"
#include <strsafe.h>
#undef MessageBox
Миниатюры
Работа с Word/Excel через Ole/иные способы  
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,839
Записей в блоге: 4
25.12.2023, 00:56
Но через импорт больше функций можно получить. Может их и тут можно получить. Но этот пример трохи кособокий.
Также выскочило сообщение MessageBoxA(NULL, "All done.", "Notice", 0x10000);, я просто закрыл его не знаю для чего оно.

Добавлено через 1 час 45 минут
Фраза в окошке означает что "Всё готово". Ладно а какие функции там ещё есть. Покрасить ячейку, прочитать данные в ней и т.д., кто может подсказать?

Добавлено через 12 минут
CoCreateInstance видимо создаёт объект.
VariantInit инициализирует.
SafeArrayCreate строит поле. Вернее даже не строит а обрабатывает. Т.е. с этими секторами или коллекциями мы будем работать далее.
SafeArrayPutElement эта функция пишет.
SysAllocString не совсем понятно что делает.
А это что вызов всего.
C++
1
2
3
4
5
   pXlRange->Release();
   pXlSheet->Release();
   pXlBook->Release();
   pXlBooks->Release();
   pXlApp->Release();
В общем если кто знает как доработать или переделать этот вариант. ПИшите нам будет интересно как взаимодействовать с Экселем или Вордом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2023, 00:56

Иные способы установки Windows XP
Всех с праздником! Ребята подскажите какие еще существуют способы установки Windows Xp помимо установки через DvD-rom и флешку. Имеется...

Работа в Word через WBA в Excel
Нужна простенька программа, которая будет открывать документ word вставлять туда данные из excel и сохранять ворд-документ под новым...

Ole excel и word
Здравствуйте, проблема такая: при использование ole для word и excel при использование word и excel не закрывается excel(висит в диспетчера...

Работа с word через excel (передача строки)
Здравствуйте, возникла следующая проблемка, а точнее вопрос: Есть файл excel, который при определенном действии создает файл word. ...

Ошибка при открытии OLE Word из Excel
Всем доброго времени суток! Имеется тестовый код Sub Test2() Dim WDApp As Object Dim WDDoc, oWord, oDocument As Object ...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru