Как убрать последний символ параграфа в таблице word?

Статус
Закрыто для дальнейших ответов.

asterix

Участник
Топикстартер
Сообщения
145
Оценка реакций
0
Люди, здравствуйте. Имеем 400 страниц таблиц в ворде. В каждой ячейке перед символом окончания ячейки стоит знак параграфа, абзацев в ячейке несколько, разное количество в каждой ячейке. Вопрос: есть ли способ пройтись по всем ячейкам и убрать именно последний в ячейке символ параграфа? Спасибо.
 

Druha

Участник
Сообщения
274
Оценка реакций
0
Ответ: Как убрать последний символ параграфа в таблице word?

Преобразовать таблицы в текст с разделителем строк каким нибудь знаком, а потом заменить комбинацию "знак+параграф" на "знак" и обратно в таблицу.
 

kassia

12 лет на форуме
Сообщения
136
Оценка реакций
22
Ответ: Как убрать последний символ параграфа в таблице word?

Можно скачать скрипт для индизайна TableStyle.
Позволяет настраивать:
отступы до и после таблицы;
тип линий;
цвет линий;
оттенок цвета линий;
толщину линий;
цвет заливки ячеек;
оттенок цвета заливки ячеек;
тип вертикального выравнивания в ячейках;
отступы в ячейках сверху, снизу, слева, справа;
стиль текста в таблице;
высоту строк,

а также удалять лишние пробелы и знаки конца абзаца в начале и конце ячеек
 

asterix

Участник
Топикстартер
Сообщения
145
Оценка реакций
0
Ответ: Как убрать последний символ параграфа в таблице word?

Спасибо, но первый вариант рискуешь, что нибудь потерять и не дай бог хоть одна строка съедет и не заметишь, а второй потому, что мимо индиза - сразу в пдф, а потом может в индиз, еще не решил.
 

ragman

12 лет на форуме
Сообщения
669
Оценка реакций
0
Ответ: Как убрать последний символ параграфа в таблице word?

Если выложишь для примера кусок таблицы, могу сварганить макрос для ворда.
 

asterix

Участник
Топикстартер
Сообщения
145
Оценка реакций
0
Ответ: Как убрать последний символ параграфа в таблице word?

Если есть возможность, буду признателен. Ориг таблицы под руками нет сейчас, но прилагаемая идею отображает. Пришлось делать руками, а это ну очень муторно. Интересно будет очень на макрос посмотреть. Спасибо.
 

Вложения

kaatm

12 лет на форуме
Сообщения
1 097
Оценка реакций
16
Ответ: Как убрать последний символ параграфа в таблице word?

А что мешает удалить все абзацы (^p) в таблице?
 

Psy

няша
15 лет на форуме
Сообщения
3 574
Оценка реакций
2 261
Ответ: Как убрать последний символ параграфа в таблице word?

kaatm сказал(а):
А что мешает удалить все абзацы (^p) в таблице?
В ячейке могут встретиться нужные абзацы, их-то удалять не надо, надо только последний.
 

asterix

Участник
Топикстартер
Сообщения
145
Оценка реакций
0
Ответ: Как убрать последний символ параграфа в таблице word?

kaatm сказал(а):
А что мешает удалить все абзацы (^p) в таблице?
В каждой ячейке несколько строк, каждая отбита абзацем. Это делает машина, а нечеловек. И, судя по всему, пока по другому она не могет.
Необходимо удалить только последний абзац в каждой ячейке. Если 400 страниц, по пять колонок в среднем на странице, то труд мерзкий достаточно. Но пока другого выхода, кромк как ручками не нашел. В индюк таблицы не затаскиваются ни в какую, Вижу причину в том, что некоторые ячейки либо разбиты, либо объеденены. Приводить в порядок в ворде, а потом возвращать назад - мартышкин труд. Да потерять можноЮ чего нить важное. Во в этой связи и возник вопрос. Ладно - пошел книжку по VBA глядеть - может чего и найду.
 

ragman

12 лет на форуме
Сообщения
669
Оценка реакций
0
Ответ: Как убрать последний символ параграфа в таблице word?

2asterix
Скрипт VBA для Word (да простят меня модераторы):
PHP:
Sub removeLastParagraph()
    Dim myDoc As Document
    Dim myTable As Table
    Dim myCell As Cell
    Dim myPara As Paragraph
    Dim i, r, c  As Integer
    
    Set myDoc = ActiveDocument
    For i = 1 To myDoc.Tables.Count
        Set myTable = myDoc.Tables(i)
        For c = 1 To myTable.Columns.Count
            For r = 1 To myTable.Rows.Count
                Set myCell = myTable.Cell(r, c)
                myCount = myCell.Range.Paragraphs.Count
                If myCount > 1 Then
                    If myCell.Range.Paragraphs(myCount - 1).Range.Characters.Count = 1 Then
                        myCell.Range.Paragraphs(myCount - 1).Range.Delete
                    End If
                End If
            Next r
        Next c
    Next i
End Sub
 

asterix

Участник
Топикстартер
Сообщения
145
Оценка реакций
0
Ответ: Как убрать последний символ параграфа в таблице word?

Спасибо, тебе мил человек, пойдем пробовать.
 

Glutton

12 лет на форуме
Сообщения
885
Оценка реакций
0
Ответ: Как убрать последний символ параграфа в таблице word?

Поиск в CS3 grep:
Искать:\r$
Заменять на пустоту
 

asterix

Участник
Топикстартер
Сообщения
145
Оценка реакций
0
Ответ: Как убрать последний символ параграфа в таблице word?

Работает! Фсе ! Начинаю учить VBA. Спасибо всем
 
Статус
Закрыто для дальнейших ответов.