我该如何像在Microsoft Excel中一样创建Word VBA个人VBA代码库。?

时间:2018-07-31 16:37:55

标签: vba excel-vba word-vba

如何像在Microsoft Excel中一样创建Word VBA个人代码库?我有这个工作,但是今天它坏了,我无法使其再次工作。我最初这样做是因为我的Normal.dot文件炸毁了,我失去了所有宏。我找到了描述该操作方法的博客文章,但我找不到回头路。我已经在Google上进行了广泛的搜索,但是没有找到解决方案。

这里有些曲折,如下所述...

在Microsoft Excel中,可以轻松创建“代码库项目”。这只是一个带有VBA模块的标准XLSB文件,保存在..\Excel\STARTUP文件旁边的PERSONAL.XLSB文件夹中。

在其他任何XLSX / B文件中打开VBA编辑器时,代码库文件中的模块始终可见。并且不需要创建VBA项目参考来查看它们。库模块可以本地编辑,就好像它们是任何其他文件的组成部分一样,而无需在另一个窗口中打开库文件,如图所示... < / p>

enter image description here

但是...在Microsoft Word中,它的工作方式似乎不同,并且...奇怪。如果执行相同操作:创建带有自定义代码模块的DOCM文件,并将其保存在..\Word\Startup\文件夹中,则这些模块在VBA Project Explorer中不可见

遵循从Excel到Word的逻辑链,并像其他人所做的那样...将DOCM另存为DOTM,然后将其与Normal.dotm文件一起保存在..\Templates文件夹中。仍然在Project Explorer中不可见。

直到打开Normal.dotm进行编辑并且将DOTM库添加为VBA项目参考之后,它才最终出现在Project Explorer中,只有在Normal打开时才出现。另外...它会打开代码库文件,以便在另一个窗口中进行编辑..!如果“普通”与该参考一起保存,并从中创建了一个新文档,则无法编辑库代码,并显示错误“项目不可见” ...

enter image description here

直到在 second 窗口中打开库DOTM文件进行编辑后,它的代码才可以编辑,并且可以在所有文档的所有Word VBA窗口中同时进行编辑。

>

有一线希望:如果我从DOTM库而不是Normal.DOTM中创建一个新的空白DOC,它将起作用..!从库创建的任何文档都保留了到那里代码模块的链接,包括任何新的或已编辑的代码,都可以在Project Explorer中直接对其进行本地编辑。这也包括Normal.DOTM中的代码模块。

似乎“可编辑性”是一种方式:从任何其他模板创建的文档都可以查看和编辑自己的代码以及Normal.DOTM中的代码,而从另一角度来看则不是:从Normal.DOTM创建的文档只能查看和编辑自己的代码。

如何将所有文档建立双向连接,而不管它们是从哪个模板创建的..

我一直在努力解决可能是安全/恶意软件问题的可能性,但是我无法提出。如果在“信任”设置中已经启用了宏,则无论如何,在控制计算机的方式中,恶意软件已经达到99%。剩下的唯一步骤就是启用VBIDE。

1 个答案:

答案 0 :(得分:1)

A very similar question on Microsoft Answers

  

Words中是否有一个启动文件或模板文件,可用来存储“个人宏”,即在编辑文档时人们希望始终可用的宏(我正在寻找与Excel中的PERSONAL.XLSB文件等效的宏,其中我可以存储宏,然后这些宏在我打开的所有工作表中都可用。

给出的解决方案:

  

为此,Word使用默认模板Normal.dotm。存储在Normal.dotm中的宏将在所有文档中可用。除此之外,Normal.dotm还用作默认文档模板,并且还存储用户格式化的自动更正条目。

     

就像Personal.xlsb一样,Normal.dotm在全新安装中不存在,但会在需要时创建。

     

Normal.dotm的位置是

     

C:\Users\<username>\AppData\Roaming\Microsoft\Templates

     

AppData是一个隐藏文件夹,因此您必须显示隐藏文件和文件夹才能在Windows资源管理器中看到它。

Similar questions(也在answer.microsoft.com上)提供了相同类型的解决方案。

  

应该全局可用的宏可以存储在Normal.dotm或Word的“启动”文件夹中的模板中。另请参阅:

并且:

  

在Word中,个人设置(那些未存储在注册表中的设置)存储在Normal模板Normal.dotm中。当您更改和保存设置或创建宏时,除非您选择将其保存在另一个模板中,否则它们将自动保存在Normal.dotm中。启动Word时会自动加载Normal.dotm,并且新的空白文档基于Normal.dotm。