Удалить пустой лист после таблицы в конце документа

Автор timal1234, 26 июня 2026, 14:53

0 Пользователи и 1 гость просматривают эту тему.

timal1234

Всем привет!

Как удалить пустой лист после таблицы в конце листа?
На втором листе ничего нет, Ни DEL, ни Backspace не помогают....

Когда ж разработчики сделают нормальное поведение Либре в этом плане....
эта хрень тянется с незапамятных времён.... задолбало уже...

--------
Version: 25.8.5.2 (X86_64)
Build ID: 9c8b85f387cc00a89945a79c9e6239f32e450ac2
CPU threads: 16; OS: Windows 11 X86_64 (build 22631); UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: ru-RU
Calc: threaded

bigor

Цитата: timal1234 от 26 июня 2026, 14:53удалить пустой лист
сделать высоту строк в таблице 0,5 см он сам пропадет
Поддержать наш форум можно здесь

timal1234

Цитата: bigor от 26 июня 2026, 16:33
Цитата: timal1234 от 26 июня 2026, 14:53удалить пустой лист
сделать высоту строк в таблице 0,5 см он сам пропадет

Это понятно, спасибо конечно, я бы и сам догадался....
но переделывать форматку не вариант.

sokol92

Цитата: timal1234 от 26 июня 2026, 14:53Как удалить пустой лист после таблицы в конце листа?
Вскрытие показывает, что в самом файле после таблицы ничего нет.
Пустой параграф в конце документа появляется после открытия документа.
Наверное, этот пустой параграф можно "грохнуть" макросом.
Если интересно, то попробуем.
Владимир.

timal1234

Цитата: sokol92 от 26 июня 2026, 18:36Наверное, этот пустой параграф можно "грохнуть" макросом.
Если интересно, то попробуем.
Да, можно попробовать.

Я просто не понимаю:
Неужели за столько лет развития Либре, разработчики так и не смогли реализовать это?

Ципихович Эндрю

Sub PageCount()
    Dim oDoc As Object
    Dim oController As Object
    oDoc = ThisComponent
    oController = oDoc.getCurrentController()
    MsgBox "В документе количество страниц: " + oController.PageCount
    If oController.PageCount < 2 Then
        MsgBox "В документе нет второй страницы": Exit Sub
    End If
   
End Sub
далее на мой скромный взгляд 1-4 строки кода нужны, но их от ИИ не просто получить)) да уж плохо обучены для либры врайтера
посему ворд в помощь
Это классическая ситуация: таблица заканчивается в самом конце первой страницы, и Word автоматически добавляет пустой абзац после неё, который "выталкивается" на вторую страницу. Этот абзац нельзя просто удалить — Word требует хотя бы один абзац после таблицы.
Решение: сделать этот абзац невидимым (уменьшить шрифт до 1 пт и убрать интервалы).
Макрос для Microsoft Word (VBA)
Sub DeleteEmptyPageAfterTable()
    Dim doc As Document
    Dim totalPages As Long
    Dim lastPara As Paragraph
   
    Set doc = ActiveDocument
    totalPages = doc.ComputeStatistics(wdStatisticPages)
   
    MsgBox "В документе страниц: " & totalPages
   
    If totalPages < 2 Then
        MsgBox "В документе нет второй страницы"
        Exit Sub
    End If
   
    ' Переходим в самый конец документа
    Selection.EndKey Unit:=wdStory
   
    ' Получаем последний абзац (тот самый, что создаёт пустую страницу)
    Set lastPara = Selection.Paragraphs(1)
   
    ' Делаем его невидимым:
    ' 1. Размер шрифта = 1 пт
    lastPara.Range.Font.Size = 1
   
    ' 2. Междустрочный интервал = 0
    lastPara.Range.ParagraphFormat.LineSpacingRule = wdLineSpaceExactly
    lastPara.Range.ParagraphFormat.LineSpacing = 1
   
    ' 3. Убираем отступы
    lastPara.Range.ParagraphFormat.SpaceBefore = 0
    lastPara.Range.ParagraphFormat.SpaceAfter = 0
   
    ' Обновляем счётчик страниц
    doc.Repaginate
   
    MsgBox "Готово! Теперь страниц: " & doc.ComputeStatistics(wdStatisticPages)
End Sub



Helen

Цитата: timal1234 от 26 июня 2026, 20:47Неужели за столько лет развития Либре, разработчики так и не смогли реализовать это?
Мне кажется, что автоматическое появление абзаца после таблицы - это намеренно сделано, чтобы пользователь мог продолжить вводить текст ниже таблицы.
Если бы курсора и нового абзаца после таблицы не было - на форуме могло быть гораздо больше жалоб от тех пользователей, которые не знали бы как продолжить добавлять текст после того, как вставили таблицу.

timal1234

ЦитироватьРешение: сделать этот абзац невидимым (уменьшить шрифт до 1 пт и убрать интервалы).
Это я и сам давно догадался.
Из года в год оставляю пустую строку 2пт после таких таблиц....
Но форматка не моя, было в ней несколько листов... А мне нужен 1 лист. Хотел по быстрому ....
Переделывать таблицу, менять высоту строк и т.д вот совсем не хочется....
Надоело уже.

Кнопку (пункт меню) "удалить лист" хоть бы сделали уже...

timal1234

Цитата: Helen от 27 июня 2026, 12:22Мне кажется, что автоматическое появление абзаца после таблицы - это намеренно сделано, чтобы пользователь мог продолжить вводить текст ниже таблицы.
Да это полезно, но опять же можно ввести кнопку, пункт меню, горячую клавишу типа "закончить таблицу, продолжить печатать тескт"...
Ну или, как я выше написал, кнопку : удалить лист (абзац, параграф)

Ципихович Эндрю

Цитата: timal1234 от 27 июня 2026, 13:25мне нужен 1 лист
ну так получите....
Цитата: timal1234 от 27 июня 2026, 13:32написал, кнопку : удалить лист (абзац, параграф)
так в этом случае это называется срубить сук на котором сидишь

timal1234

Цитата: Ципихович Эндрю от 27 июня 2026, 14:04ну так получите....
Вы про макрос?
Попробую....
Однако почему , если это можно сделать макросом, нельзя сделать кнопку в интерфейсе?
Цитироватьтак в этом случае это называется срубить сук на котором сидишь
Это почему?

Ципихович Эндрю

Цитата: timal1234 от 27 июня 2026, 14:19Вы про макрос?
Попробую....
сообщение 5 - файл, готовый, быстро?
Цитата: timal1234 от 27 июня 2026, 14:19Это почему?
Цитата: Helen от 27 июня 2026, 12:22появление абзаца после таблицы - это намеренно сделано, чтобы пользователь мог продолжить вводить текст ниже таблицы.
Если бы курсора и нового абзаца после таблицы не было - на форуме могло быть гораздо больше жалоб от тех пользователей, которые не знали бы как продолжить добавлять текст после того, как вставили таблицу.

timal1234

Цитата: Ципихович Эндрюсообщение 5 - файл, готовый, быстро?
Быстро....
но вы же понимаете,что это неудобно. И не всем хочется в макросы влезать.

А что нельзя не переносить курсор на другую строку после таблицы? 
просто вынести его за границу последней ячейки?
Если надо продолжить печатать текст, нажимаешь Enter и вперёд....
Мне кажется даже в какой то версии MS Office было такое поведение ...

Ципихович Эндрю

Цитата: timal1234 от 27 июня 2026, 14:34не всем хочется в макросы влезать
так файл готовый, макрос, это для того, чтобы можно было повторить, то что я сделал
Цитата: timal1234 от 27 июня 2026, 14:34вы же понимаете,что это неудобно
нет не понимаю, потому, как просили на одном листе - пжл

timal1234

Цитата: Ципихович Эндрю от 27 июня 2026, 14:40так файл готовый,
А в следующий раз с другим файлом опять сюда писать?

Цитата: timal1234 от 27 июня 2026, 14:34вы же понимаете,что это неудобно
Цитироватьнет не понимаю, потому, как просили на одном листе - пжл
Спс.
А Вообще, Я хотел чтобы любой пользователь мог удалить этот долбаный пустой лист и желательно без макросов.

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