Помощь - Поиск - Пользователи - Календарь
Полная версия: Извлечение данных из формата DOC
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Scorp_Freeman
Как извлечь текст из вордовских текстов бай за байтом? Вернее какова их структура, где в них начинается блок данных ?
Файлы я открываю через потоки TFileStream.

Как програмно создать файл Ворда *.doc ?
hiv
Цитата(Scorp_Freeman @ 13.04.2007 13:11) *

Как извлечь текст из вордовских текстов бай за байтом? Вернее какова их структура, где в них начинается блок данных ?
Файлы я открываю через потоки TFileStream.

Как програмно создать файл Ворда *.doc ?

Никак. А если подробнее - методом научного тыка smile.gif
Все дело в том, что формат этих файлов есть непубликуемая тайна microsoft.
Единственный официальный способ решения проблемы - использование OLE или COM - автоматизации.
Удачи smile.gif
ЗЫ: Можно конечно и ящик пива поставить разработчикам OpenOffice, они отчасти умеют писать в этом формате, и то не все sad.gif
Scorp_Freeman
Цитата(hiv @ 13.04.2007 12:20) *

Никак. А если подробнее - методом научного тыка smile.gif


ндаа, обидно. Ну что ж, тогда придется копировать побайтно из одного в другой и целиком nea.gif
ну ничего, прорвемся blum.gif
S@sH@ Che@tEr
А у меня немного другой вопрос, но в теме - я на форуме пошарился, но все же не нашел.

Как вывести из моей проги данные в шаблонный *.doc файл. Шаблонный не всмысле шаблон, а просто в набраный документ подставить числа.
volvo
Вариантов, на самом деле, море...

Ну, самый простой - это, скажем, вместо чисел записывать какую-нибудь комбинацию символов, которая НЕ встречается больше в файле. Например, вместо первого числа - написать ([%num_01%]), вместо второго - ([%num_02%]), а потом просто открыть твой "шаблонный" файл, и заменить (через Replace, пример есть в Drkb) все подобные комбинации на нужные числа...
hiv
Цитата(volvo @ 24.06.2007 19:30) *
Ну, самый простой - это, скажем, вместо чисел записывать какую-нибудь комбинацию символов...
Volvo, я не думаю, что это получится, т.к. разговор шел о формате Microsoft Word документа *.doc, а не текстовый *.txt.
volvo
Цитата
я не думаю, что это получится
Да что с вами происходит-то? Тут "я не думаю", там вообще однозначно утверждают, что простейшее действие невозможно... Бури что-ли магнитные над Россией? Ты пробовал? Попробуй... Где ты видишь проблему? Что, Replace не сработает в MSWord? Или Find? Или SaveAs? Что в DOC-формате НЕ сработает, а в TXT да сработает по-твоему?

Или в DOC-файле не может храниться комбинация определенных символов? Тогда, извини, на кой ... он нужен, формат-то такой?
hiv
Цитата(volvo @ 25.06.2007 15:14) *
Что в DOC-формате НЕ сработает, а в TXT да сработает по-твоему?
Работа с этим форматом без установки ПО Microsoft Word!
Malice
В копилку:
http://uinc.ru/articles/39/
Устарело немного, но полезно.
S@sH@ Che@tEr
(через Replace, пример есть в Drkb)

Можно про это подробней smile.gif
hiv
Цитата(S@sH@ Che@tEr @ 27.06.2007 12:41) *
Можно про это подробней smile.gif
Качай DRKB и ищи статью "Работа с MS Word " - она и есть полный набор примеров всего что можно делать с программой WORD через COM-сервис.
Еще раз повторю - это работает только при установленном ПО Microsoft Word!


Добавлено через 12 мин.
Сразу не заметил smile.gif
Цитата(volvo @ 25.06.2007 15:14) *
Тогда, извини, на кой ... он нужен, формат-то такой?
Вот именно!!! Кому он нужен? - только Microsoft, ему за это деньги отваливают. Да простят меня модераторы за флуд...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.