您已经为页面设计进行了长期而艰苦的工作,其中包括一些正确的表。然后,随之而来的是向其中一个表中添加更多文本的需求。结果是单元格中的文本会自动换行,并将其他所有内容推低一点。现在您的整个设计被抛弃了!您渴望有一种自动调整单元格中文本大小的方法,这样就不会出现换行和压入的情况。

如果您使用的是Word 2000,Word 2002或Word 2003,则可以使用内置选项来解决问题。只需遵循以下步骤:

。选择要格式化的一个或多个单元格。

。从表格菜单中选择表格属性。显示“表属性”对话框。

。如有必要,请选择“单元格”选项卡。 (请参见图1。)

。单击选项按钮。 Word将显示“单元格选项”对话框。 (请参见图2。)

。确保选中“适合文本”复选框。

。单击“确定”关闭“单元格选项”对话框。

。单击“确定”关闭“表属性”对话框。

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_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(3780)适用于Microsoft Word 97、2000、2002和2003。您可以找到Word(Ribbon 2007)的功能区界面的本技巧版本。和更高版本)在这里: