Martyn在过去的几年中建立了许多宏。这些宏均已添加到两个冗长的自定义菜单中。最近,如果Martyn编辑任何宏,然后保存模板,则下次他启动Word时,自定义菜单中的所有条目都消失了。唯一的补救措施似乎是还原Normal.dot的最新备份,结果,将丢失其编辑。

发生此问题的原因可能有很多。最可能的问题是Normal.dot文件中的某种损坏。

_WordTips_的其他问题解决了如何处理Normal.dot文件中的损坏,但是在这种情况下,这些补救措施似乎都无法令人满意,因为挽救Normal.dot模板可能会丢失大量宏。

最好的解决方案是将宏从Normal.dot模板移到另一个模板中。这样,Normal.dot中的任何损坏都不会影响您的宏,因为它们不再位于该模板中。

例如,假设您将宏移动到名为MyMacros.dot的模板。然后,您可以将模板文件移动到Word的“启动”文件夹中,在下次启动Word时,该文件将被识别并作为全局模板加载。这意味着模板中的所有宏现在都一直可用,就像它们在Normal.dot模板中一样。

当然,当您将宏移动到新模板(通常使用管理器或在VBA编辑器本身中移动它们)时,这可能会“破坏”您创建的菜单。这样做的原因是菜单以及任何自定义工具栏按钮都指向ProjectName.ModuleName.MacroName。当您将宏移到另一个模板时,您正在更改ProjectName,可能还要更改ModuleName和MacroName。

此时,您的选择是重新创建菜单,但是如果您在菜单中添加了数十个(或数十个)宏,则可能会很痛苦。如果使用的是Word 2007之前的Word版本,则可以在移动宏之前尝试以下常规步骤:

。选择工具|自定义以显示“自定义”对话框。

。在工具栏选项卡上,单击新建。 Word将显示“新建工具栏”对话框。 (请参见图1。)

。输入名称“ Backup1”作为新工具栏的名称,然后单击“确定”。

。显示“自定义”对话框的“命令”选项卡。 (请参见图2。)

。在“类别”下拉列表的最底部,您将找到“新菜单”。将此选项拖到新创建的Backup1工具栏上。

。将该菜单命名为“ Backup”,再加上与第一个现有的自定义菜单相同的名称。因此,如果您的第一个自定义菜单是Custom1,则将此菜单称为BackupCustom1。 (这不是绝对必要的,但是会使以后更容易找到新菜单。)

。重复步骤1-6,但是这次将Backup2替换为Backup1,并将此菜单命名为BackupCustom2。

。在“自定义”对话框仍然打开的情况下,单击原始的“ Custom1”菜单,按住Ctrl键,然后将“ Custom1”菜单中的每个项目一次拖动到“ BackupCustom1”菜单中。按住Ctrl键,您将复制这些项目,而不是移动它们。

。对Custom2菜单执行相同的操作,将每个项目复制到BackupCustom2菜单。

与原始菜单不同,这些新创建的菜单(在新工具栏上)可以复制并保存到全新的模板中。使用管理器将新的工具栏和您的宏模块复制到新的模板。如前所述,可以将该模板放置在Word Startup文件夹中。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(431)适用于Microsoft Word 97、2000、2002和2003。