Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
5 / 5 / 0
Регистрация: 15.05.2013
Сообщений: 36

Считать текст из файлов с расширениями *.doc и *.docx

28.09.2014, 18:53. Показов 4130. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Мне нужно считать текст (не содержащий таблиц, изображений и формул) из файлов с расширениями *.doc и *.docx. Открываю файл, используя OLE. Как мне его теперь записать в переменную или в массив?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Variant  vVarApp,vVarDoc,vVarParagraphs,vVarParagraph;
bool fStart = false;
if (!fStart) {
   try {
      vVarApp=CreateOleObject("Word.Application");
      fStart=true;
   }
   catch(...) {
      MessageBox(0, "Ошибка при открытии Word", "Ошибка", MB_OK);
      return;
   }
} 
vVarApp.OlePropertySet("Visible",false);
vVarDoc = vVarApp.OlePropertyGet("Documents");
vVarDoc.OleProcedure("Open", filename.c_str());
vVarDoc = vVarDoc.OleFunction("Item",1);
vVarDoc.OleProcedure("Activate");
 
//...
Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.09.2014, 18:53
Ответы с готовыми решениями:

Считать текст из doc (docx) файла используя LibreOffice
Есть тема с ответом Считать текст из doc но там используется Word А если его нет, он же платный? Есть такие же возможности у...

В Memo или RichEdit вставить текст из файла doc или docx
Люди помогите плиз, весь нэт обрыл. Нужно в Builder, в Memo или RichEdit вставить текст из файла doc или docx. Можно и без...

Открытие файла docx или doc
Подскажите, пожалуйста, как прописать, чтоб при нажатии на кнопку открывался(загружался) файл docx или doc?

6
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
29.09.2014, 07:14
как вариант сохрани документ в текстовый и работай с ним
0
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 329
29.09.2014, 13:04
Вроде бы vVarDoc.OleProcedure("SaveAsText") надо. В ближайшие пару часов сам такое делать буду, можешь подождать.
Или наоборот - выложить рабочий вариант, а я заберу %)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
29.09.2014, 13:26
Все содержимое забирается из vVarDoc через
C++
1
String s = vVarDoc.OlePropertyGet("Content").OlePropertyGet("Text");
Другое дело, что кроме текста там может оказаться много всего другого...
2
5 / 5 / 0
Регистрация: 15.05.2013
Сообщений: 36
29.09.2014, 18:53  [ТС]
UI, спасибо! Это как раз то, что нужно было
0
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 329
30.09.2014, 13:14
А какие тут заголовочные подключены?
а то если подключить
C++
1
#include <vcl.oleauto.hpp>
выдает
[bcc32 Error] uUtil.cpp(353): E2015 Ambiguity between '_fastcall System::Win::Comobj::CreateOleObject(con st System::UnicodeString) at d:\program files (x86)\embarcadero\rad studio\11.0\include\windows\rtl\System.W in.ComObj.hpp:793' and '_fastcall Vcl::Oleauto::CreateOleObject(const System::UnicodeString) at d:\program files (x86)\embarcadero\rad studio\11.0\include\windows\vcl\vcl.olea uto.hpp:203'

Если я укажу
C++
1
vVarApp=Vcl::Oleauto::CreateOleObject("Word.Application");
выдает
[ilink32 Error] Error: Unresolved external '__fastcall Vcl::Oleauto::CreateOleObject(const System::UnicodeString)' referenced from D:\WORK\PROGRAMM\XE4\....\DEBUG\UUTIL.OB J
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
30.09.2014, 13:29
C++
1
#include <ComObj.hpp>
вполне достаточно (там прототип CreateOleObject), больше ничего не нужно...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.09.2014, 13:29
Помогаю со студенческими работами здесь

Анализ (поиск) текста в doc/docx
Задача следующая: надо проверить, есть ли текст &quot;111&quot; в файле MSWord. Думала решить проблему как-то так #include ...

Поиск на диске файлов с расширениями .txt и .docx и создание списка имён найденных файлов
Помогите, нужно создать bat файл, который ищет на диске файлы *.txt *docx а потом создаёт список с их именами.

Создание/склеивание doc\docx файла из шаблона doc\docx с заменой ключевых слов
Подскажите, как можно такое реализовать? Я узнал, что в rtf нельзя делать разрыв страницы, а просто как с текстовым файлом с doc и docx...

В заданном каталоге посчитать количество файлов с расширениями .txt, .html, .doc
Написать bat-файл: В заданном каталоге ( передается как параметр ) посчитать количество файлов з разрешениями .txt, .html, .doc и вывести...

Используя PHP считать doc/docx файл и сгенерировать его в PDF
Я использую composer и подключаю 2 библиотеки : PHPWord Dompdf Возник вопрос, как реализовать наиболее оптимизирванно...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru