Установка ширины границы таблицы по умолчанию (Microsoft Word)
При вставке таблицы в Word автоматически создается граница для каждой ячейки в таблице. Эта граница представляет собой одну линию, весит половину балла. К сожалению, Word не позволяет вам изменить ширину линии по умолчанию, которую вы используете при создании таблицы. Хотя это правда, что вы можете выбрать толщину линии в диалоговом окне «Границы и затенение», этот вес сбрасывается до половины, когда вы вставляете новую таблицу.
Если вам нужна другая ширина линии, например, три четверти точки, у вас есть проблема. Вы должны вручную выбрать любую новую таблицу и отформатировать границы так, чтобы они имели желаемую ширину. Если вы работаете с большим количеством таблиц, это может быстро стать проблемой. Вы, конечно, можете создать стиль таблицы, но применение стиля таблицы может дать неровные результаты, если все, что вы хотите сделать, это изменить ширину линии или если вы работаете с документом, к которому было применено много явного форматирования. столы.
Возможно, лучший способ обойти эту проблему — написать макрос. Хотя это, возможно, не самое идеальное решение, это, безусловно, проще, чем вручную изменять каждую таблицу в документе.
Следующий макрос, FixCellBorders, проходит через каждую ячейку в каждой таблице в документе и обеспечивает минимальную толщину линии в три четверти точки. Для этого он проверяет текущие настройки линии и затем вносит корректировки только в случае необходимости.
Sub FixCellBorders() ' Work through all tables in document For Each objTable In ActiveDocument.Tables ' Work through all cells in each table For Each objCell In objTable.Range.Cells ' Work through all borders in each cell For Each objBorder In objCell.Borders ' Check if line weight is less than 0.75 pt If objBorder.LineWidth = wdLineWidth025pt _ Or objBorder.LineWidth = wdLineWidth050pt Then ' too thin, change it objBorder.LineWidth = wdLineWidth075pt End If Next objBorder Next objCell Next objTable End Sub
Как вы понимаете, макрос работает не очень быстро, поскольку он просматривает все четыре границы каждой ячейки в каждой таблице вашего документа. Преимущество, однако, в том, что макрос изменяет вес только той границы ячейки, которая находится в четверти или половине точки. Это означает, что любое ручное форматирование линий разной ширины не изменится.
Если вам нужен более быстрый макрос, то следующий вариант (FixTableBorders) поможет. Вместо того, чтобы смотреть на отдельные ячейки, он работает со всеми таблицами. Однако разница в том, что он сбрасывает каждую границу каждой таблицы на три четверти точки, используя одну строку. Однако, если это соответствует вашим потребностям, это определенно более простой (быстрый) способ.
Sub FixTableBorders() For Each objTable In ActiveDocument.Tables With objTable With .Borders(wdBorderLeft) .LineStyle = wdLineStyleSingle .LineWidth = wdLineWidth075pt End With With .Borders(wdBorderRight) .LineStyle = wdLineStyleSingle .LineWidth = wdLineWidth075pt End With With .Borders(wdBorderTop) .LineStyle = wdLineStyleSingle .LineWidth = wdLineWidth075pt End With With .Borders(wdBorderBottom) .LineStyle = wdLineStyleSingle .LineWidth = wdLineWidth075pt End With With .Borders(wdBorderHorizontal) .LineStyle = wdLineStyleSingle .LineWidth = wdLineWidth075pt End With With .Borders(wdBorderVertical) .LineStyle = wdLineStyleSingle .LineWidth = wdLineWidth075pt End With End With Next objTable End Sub
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (880) относится к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:
link: / wordribbon-Setting_a_Default_Table_Border_Width [Установка ширины границы таблицы по умолчанию]
.