我可以更改Word(2007)自动创建项目符号列表时使用的列表样式吗?

时间:2011-08-10 08:40:34

标签: vba ms-word formatting word-vba word-2007

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

但是,如果用户键入:

  

* foo

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

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

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

1 个答案:

答案 0 :(得分: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