【问题标题】:Can I change the list style used when Word (2007) auto-creates a bulleted list?我可以更改 Word (2007) 自动创建项目符号列表时使用的列表样式吗?
【发布时间】:2015-02-26 05:04:24
【问题描述】:

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

但是,如果用户键入:

* foo

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

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

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

【问题讨论】:

    标签: vba formatting ms-word word-2007


    【解决方案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

    【讨论】:

    • 谢谢,很好的答案,虽然我不想盲目地将自动格式化选项设置为 True ,因为用户可能已经禁用它。我想我可以存储“之前”的值。此外,更进一步,我想我可以捕获“窗口激活”事件,以便在用户根据我的模板激活/取消激活文档时打开和关闭设置。这样其他文件不会受到影响。
    • 加里,我完全同意:如果选择解决方案,我建议捕获“之前”值并激活/停用文档是要走的路。感谢您的精彩对话。
    猜你喜欢
    • 2014-04-25
    • 2013-06-23
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多