1

Тема: Макрос выравнивания содержимого всех ячеек всех таблиц в документе

Добрый день уважаемые эксперты!

Требуется макрос для выравнивания содержимого всех таблиц в документе в трех вариантах:
1. "сверху по левому краю"
2. "по центру по левому краю"
3. "по центру"

(То есть по сути три отдельных макроса)

На выходе содержимое всех ячеек всех таблиц должно иметь одинаковое выравнивание.

Самому собрать средствами записи макроса не получилось.

Благодарю за помощь!

С уважением, Максим.

2

Re: Макрос выравнивания содержимого всех ячеек всех таблиц в документе

не верю

1. "сверху по левому краю"
2. "по центру по левому краю"
3. "по центру"

1-я строка по центру+1столбец по леву(иногда и второй)+остальные вправо

или
все по центру

3

Re: Макрос выравнивания содержимого всех ячеек всех таблиц в документе

забыла

--есть ли объединенные ячейки

4

Re: Макрос выравнивания содержимого всех ячеек всех таблиц в документе

Когда выделяете таблицу во вкладке макет, в разделе выравнивание есть 9 кнопочек, именно они и содержат "сверху по левому краю" "по центру по левому краю" "по центру".
Надо сделать 3 макроса: первый макрос выделяет все таблицы и осуществляет функцию первой кнопочки, второй макрос - кнопочки "по центру по левому краю", и наконец последний третий макрос нажимает кнопочку "по центру".

5

Re: Макрос выравнивания содержимого всех ячеек всех таблиц в документе

Да, объединенные ячейки иногда есть.

6

Re: Макрос выравнивания содержимого всех ячеек всех таблиц в документе

Понимаю, что проблема для профессионалов может быть небольшой, однако сам я ее решить не в силах.

Единственное что приходит в голову, это макрос для выравнивания всех таблиц по ширине окна, может его можно как-то изменить?

7

Re: Макрос выравнивания содержимого всех ячеек всех таблиц в документе

Sub TopLeft()
'
' Сверху по левому краю
'
'
    Dim oTbl As Table
    For Each oTbl In ActiveDocument.Tables
        oTbl.Range.ParagraphFormat.Alignment = wdAlignParagraphLeft
        oTbl.Range.Cells.VerticalAlignment = wdCellAlignVerticalTop
    Next
End Sub
Sub CenterLeft()
'
' По центру по левому краю
'
'
    Dim oTbl As Table
    For Each oTbl In ActiveDocument.Tables
        oTbl.Range.ParagraphFormat.Alignment = wdAlignParagraphLeft
        oTbl.Range.Cells.VerticalAlignment = wdCellAlignVerticalCenter
    Next
End Sub

Sub CenterMiddle()
'
' По центру
'
'
    Dim oTbl As Table
    For Each oTbl In ActiveDocument.Tables
        oTbl.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
        oTbl.Range.Cells.VerticalAlignment = wdCellAlignVerticalCenter
    Next
End Sub
Лучше день потерять — потом за пять минут долететь!

8

Re: Макрос выравнивания содержимого всех ячеек всех таблиц в документе

Все прекрасно работает.
Благодарю!

С уважением, Максим.