使用单词作为项目符号(Microsoft Word)时出现问题
Word允许您自定义程序中定义的项目符号和编号样式。例如,您可以选择其他字符用作项目符号,如_WordTips的其他问题中所述。_您甚至可以综合使用一种方法将单词用作“项目符号”,如果您改为定义编号列表(它们是紧密相关的)带有项目符号列表)
不使用数字,而是使用“尾随文本”,可以有效地充当“项目符号”。
任何此类方法的问题在于,您仍然会遇到与通常困扰项目符号和编号列表的问题相同的问题。 (这些问题已在_WordTips的其他问题中讨论过。)可以通过依靠轮廓编号而不是项目符号或常规编号来避免某些问题,但是问题仍然很容易出现。
老实说,大多数Word专家都会承认Word的自动编号和项目符号功能存在严重问题。有许多不同的因素会影响项目符号和编号样式。
例如,如果为项目符号或编号样式之一设置了“自动更新”复选框(在“修改样式”对话框中),则当用户对文档中的段落进行显式更改时,这可能会引起无法解决的问题。同样,如果编号或项目符号样式基于其他样式,则更改可以从一种样式级联到另一种样式,而不会发出警告。
为了解决格式化项目符号或编号列表的潜在问题,许多人主张同时避开Word的自动功能。相反,您可以开发一系列宏,这些宏可以处理项目符号的编号或应用。例如,以下宏可用于使用单词作为项目符号来显式格式化段落:
Public Sub BulletText() Dim sBullet As String Dim myList As ListTemplate sBullet = InputBox("Enter bullet text:", "Bullet Text", "Note:") ' Add a new ListTemplate object Set myList = ActiveDocument.ListTemplates.Add With myList.ListLevels(1) .NumberFormat = sBullet .TrailingCharacter = wdTrailingTab .NumberPosition = InchesToPoints(0.25) .Alignment = wdListLevelAlignLeft .TextPosition = InchesToPoints(0.75) .TabPosition = InchesToPoints(0.75) .ResetOnHigher = 0 .StartAt = 1 .LinkedStyle = "" ' The following sets the font attributes of ' the "bullet" text With .Font .Bold = True .Name = "Arial" .Size = 10 End With End With ' Apply the new ListTemplate to the selected text Selection.Range.ListFormat.ApplyListTemplate ListTemplate:=myList End Sub
该宏提示您输入要用作“项目符号”的文本,然后使用您的规范设置所选段落的格式。请注意,该宏使用称为“ ListTemplates”的对象。这些对象是您在“项目符号库”和“编号库”中看到的。 (当您单击功能区的“主页”选项卡上“项目符号”或“编号”工具旁边的下拉箭头时,这些库将可见。)与Word中的编号和项目符号相关的许多问题与可靠地关联特定ListTemplate对象的问题有关。具有特定的样式。通过不尝试这样做,而是通过创建应用于文档中各个段落的新的自定义ListTemplate对象,此宏可以绕过这些问题。
使用这样的宏的缺点是,您依赖显式格式而不是样式。这意味着您失去了样式的主要优点,即一致性和对样式相似的段落进行通用更改的能力。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(10270)适用于Microsoft Word 2007和2010。您可以在这里找到适用于Word的较早菜单界面的本技巧的版本: