Как избавиться от колонтитулов при сохранении в формат TXT?

Автор Посетитель_20112025, 21 ноября 2025, 13:19

Администратор

Может быть пустые абзацы формируют не колонтитулы, а что-то другое.

Посетитель_20112025

Но и колонтитулы тоже. В этом можно убедиться, набив какую-нибудь информацию в каждый из колонтитулов.
По идее, от колонтитулов должно сохраняться 6 строк: 3 от верхнего колонтитула, и 3 от нижнего. А у меня их 12 (точнее, 13, но одна строка, видимо, это последняя строка документа).

Посетитель_20112025

«После удаления колонтитулов, ничего лишнего нет в txt-файле» – так Вы же писали на предыдущей странице, что у Вас тоже добавляются пустые строки...
Нижним колонтитулом я вообще не пользуюсь. Но всё равно я его в том макросе удаляю таким же образом, просто я не стал добавлять этот код в то сообщение.
Вообще сколько я себя помню – в конец TXT-файла всегда добавлялось несколько пустых строк при сохранении его из Вордовского документа.

Да, на всякий случай: я работаю с doc-файлами, а не с docx. В Ворде 2010.

Посетитель_20112025

«пройдитесь по всем разделам» – я предварительно удаляю все разделы и принудительные разрывы страниц:
Спойлер
    .Execute FindText:="^b", ReplaceWith:="", Replace:=wdReplaceAll
    .Execute FindText:="^m", ReplaceWith:="", Replace:=wdReplaceAll
[свернуть]
Так что у меня остаётся один основной раздел.

Администратор

Да, я писал, что добавляются пустые строки, - это я ещё тогда не понимал, что за пустые строки.
Но у меня не было проблем с колонтитулами в пустом новом файле.

Администратор

Если вы удаляете все разделы и все колонтитулы, то тогда удаляйте и особые колонтитулы.
Этим кодом вы создаёте особые колонтитулы:
    .PageSetup.DifferentFirstPageHeaderFooter = True
    .PageSetup.OddAndEvenPagesHeaderFooter = True

Хотя это не поможет - колонтитулы то ведь всё равно останутся. Эти команды могут скрыть колонтитул, но не удаляют его - колонтитул появится в txt-файле.

Посетитель_20112025

Этим кодом вы создаёте особые колонтитулы:
    .PageSetup.DifferentFirstPageHeaderFooter = True
    .PageSetup.OddAndEvenPagesHeaderFooter = True


Не создаю, а открываю к ним доступ. Если эти параметры имеют значение False, то содержимое соответствующих колонтитулов вышеприведённым макросом не удаляется. Т.е. вне зависимости от значения этих параметров цикл выполняется ровно три раза, и каждый раз как будто успешно. Но если к соответствующему колонтитулу доступ не открыт, то при повторном выполнении макроса видно, что изменения в колонтитуле не произошли.
Но и после «удаления» всех трёх колонтитулов цикл успешно выполняется три раза, т.е. физического удаления колонтитулов не происходит.

Посетитель_20112025

Для чистоты эксперимента удалил файл Normal.dotm – таким образом новый Вордовский документ стал «как слеза младенца». Сохранил документ в txt. Результат тот же: добавляются 12 дополнительных строк.

Администратор

Новый пустой ворд-документ даёт 12-ть пустых строк в txt-файле?

Посетитель_20112025

Да, именно так. Причём без шаблона Normal.dotm!
Word 2010.
Точнее, не совсем пустой документ: вставил туда букву под ударением, чтобы выдалось окно конвертации сохраняемого файла.

Администратор

А если обычную русскую букву вставить, то будет 12-ть пустых абзацев?

Посетитель_20112025

Так. Опять попробовал без шаблона. Ничего не добавилось.
Попробовал с шаблоном: там у меня прописаны колонтитулы для нечётных и чётных страниц. Добавились 4 строки.
Попробовал свой рабочий экспериментальный файл. При одном сохранении в него добавились 6 строк, при другом – 12 строк.
Я уже давно склоняюсь к выводу, что Ворд в процессе работы где-то у себя в памяти оставляет хвосты, и тут они и выплывают.

Администратор


Посетитель_20112025

Вот сам файл, а также результат его сохранения в TXT.

Администратор

Удалите все колонтитулы, пересохраните в txt-файл, убедитесь, что есть проблема, и выложите файлы на форуме.

Можно сохранить текст из Ворда в txt-файл без Сохранить как, а просто создать текстовый файл и в него скопировать весь текст. В этом случае не будет ничего непредвиденного и не надо будет разгадывать тайны Ворда.

Ворд, кроме того, что добавляет пустые абзацы по какому-то только ему известному алгоритму, так ещё и добавляет спереди пробелы, если в тексте есть отступы. Возможно есть и ещё какие-то действия Ворда, которые проявят себя позже.