Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата tumanovalex:
Я попробовал doc.Content.Find.Text.IndexdocOf(strFind) - не получилось, строка, которая точно есть в документе, не ищется. »
Документ в архив, архив — к сообщению. Укажите образец текста для поиска.

Цитата tumanovalex:
2. В Total Commander есть возможность поиска строки в doc и docx без COM и установленного Word. »
В .doc строки тупо ищутся в самих файлах (требуется отметить флажок UTF-16), а не в содержимом документов. В .docx, представляющих собой zip-архив с содержимым из двоичных и текстовых xml-файлов поиск осуществляется опять же вовсе не по содержимому документа, а по всему перечню xml-содержимого этого архива. Посему поиск и в одном, и в другом подвержен ошибкам как первого, так и второго рода.

Цитата tumanovalex:
какие файловые методы (работа с текстовыми файлами, работа с бинарными файлами или др.) или библиотеки лучше использовать для решения этой задачи. »
В первом случае — открыть двоичный файл как текстовый в кодировке UTF-16LE, прочитать содержимое, осуществить в прочитанном поиск. Во втором случае — извлечь содержимое файла как из zip-архива в новосозданный каталог временных файлов, рекурсивно перебрать все xml-файлы в этом каталоге, открыть каждый файл xml в указанной в нём кодировке, прочитать содержимое, осуществить в прочитанном поиск, под конец — удалить извлеченное содержимое из каталога временных файлов.

Так или иначе, я не рекомендую такой поиск.

Отправлено: 09:04, 19-05-2018 | #2