1

我有一个模板,我在其中创建了自定义列表样式,并确保在用户单击功能区上的“项目符号”图标时使用该列表样式(通过覆盖FormatBulletDefault)。

但是,如果用户键入:

* foo

...然后 Word 将使用“错误”(默认)列表样式自动将其转换为项目符号列表,这不是我想要使用的。这意味着用户最终会得到格式错误的列表。

如果我可以为我的模板关闭“自动创建项目符号列表”设置,那么我可能会考虑这样做,但这是一个应用程序设置,我不想对所有文档都关闭它。

有没有办法拦截项目符号列表的自动创建?或者改变它使用的列表样式?

4

1 回答 1

1

我不知道有什么方法可以拦截这种行为,因为它是由 Word 的“键入时自动更正自动套用格式”功能引起的。但是,您可以暂时关闭“键入时应用|自动项目符号列表”行为。为此,请将以下代码添加到 Private Sub Document_Open():

ActiveDocument.Application.Options.AutoFormatAsYouTypeApplyBulletedLists = False

这将在全局范围内关闭 Word 的此功能(因此会影响同时打开的文档),但如果您在 Private Sub Document_Close() 中包含相反的内容:

ActiveDocument.Application.Options.AutoFormatAsYouTypeApplyBulletedLists = True

设置将被恢复。您可以在此处找到“键入时自动套用格式”功能的 Word 对象模型映射:

http://technet.microsoft.com/en-us/library/Ee692775.big_asyoutype(en-us,TechNet.10).jpg

以及解释这些设置的 VBA 实现的文章:

http://technet.microsoft.com/en-us/library/ee692775.aspx

于 2011-08-11T04:32:49.217 回答