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

Если вы используете Word 2000, Word 2002 или Word 2003, есть встроенная опция, которая может помочь. Просто выполните следующие действия:

  1. Выделите ячейку или ячейки, которые вы хотите отформатировать.

  2. Выберите «Свойства таблицы» в меню «Таблица». Откроется диалоговое окно «Свойства таблицы».

  3. При необходимости выберите вкладку Ячейка. (См. Рис. 1.)

  4. Щелкните кнопку Параметры. Word отображает диалоговое окно «Параметры ячейки». (См. Рис. 2.)

  5. Убедитесь, что установлен флажок «Подогнать текст».

  6. Щелкните ОК, чтобы закрыть диалоговое окно Параметры ячейки.

  7. Щелкните ОК, чтобы закрыть диалоговое окно Свойства таблицы.

Word уменьшает видимый размер текста, чтобы все уместилось. Word уменьшает ширину текста, «сжимая» (очень технический термин) текст вместе по горизонтали, не изменяя его по вертикали.

Если вы используете Word 97, встроенного способа выполнения задачи нет. Word не предоставляет никаких свойств, которые можно проверить, чтобы определить ширину различных символов, каждый из которых может быть разного размера и иметь другие атрибуты. Однако вы можете создать макрос, который может помочь вам, отображая ширину текстовой строки в точках или дюймах. Например, следующий макрос VBA отображает поле ввода, чтобы вы могли ввести свою строку, отображает диалоговое окно «Шрифт», в котором вы можете указать шрифт и размер точки, а затем отображает ширину полученной строки.

Sub GetStringLength()

Dim sngInitPos As Single     Dim sngEndPos As Single     Dim strText As String     Dim sngLength As Single

strText = InputBox("Enter the string whose length you want to determine")

Documents.Add     Dialogs(wdDialogFormatFont).Show

sngInitPos = Selection.Information(wdHorizontalPositionRelativeToPage)

Selection.InsertAfter strText     Selection.EndOf     sngEndPos = Selection.Information(wdHorizontalPositionRelativeToPage)

sngLength = sngEndPos — sngInitPos

MsgBox "Your string has a length of " & sngLength & _         " points, or " & PointsToInches(sngLength) & " inches."

ActiveDocument.Close savechanges:=False End Sub

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

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (3780) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:

link: / wordribbon-Fitting_Text_Into_Cells [Размещение текста в ячейках].