我有一个模板,我在其中创建了自定义列表样式,并确保在用户单击功能区上的“项目符号”图标时使用该列表样式(通过覆盖FormatBulletDefault
)。
但是,如果用户键入:
* foo
...然后Word将使用“错误”(默认)列表样式自动将其转换为项目符号列表,这不是我想要使用的列表样式。这意味着用户最终会得到格式错误的列表。
如果我可以关闭“自动创建项目符号列表”设置我的模板,那么我可能会考虑,但这是一个应用程序设置,我不想将其关闭所有文件。
有没有办法拦截自动创建项目符号列表?或者更改它使用的列表样式?
答案 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实现的文章: