VBA这个词,前面的代码挡住了路
我为某人写了一个单词vba宏。我已将该文件保存为.dotm和.docm文件。当我打开他电脑上的文件时,我看到里面有一堆宏,我没有写 甚至有时当我在自己的计算机上打开自己的word宏时,会看到一堆我没有编写的代码,通常在“正常”选项卡下: 问题是word文档中以前的代码有时会导致新代码出错 其他类型的项目不会出现这种情况。VBA for Excel、powerpoint、access等 问题1:为什么会有这样的代码 问题2:我如何向某人发送word宏文件而不必担心前面的代码会妨碍我 问题1:为什么会有这样的代码VBA这个词,前面的代码挡住了路,vba,ms-word,Vba,Ms Word,我为某人写了一个单词vba宏。我已将该文件保存为.dotm和.docm文件。当我打开他电脑上的文件时,我看到里面有一堆宏,我没有写 甚至有时当我在自己的计算机上打开自己的word宏时,会看到一堆我没有编写的代码,通常在“正常”选项卡下: 问题是word文档中以前的代码有时会导致新代码出错 其他类型的项目不会出现这种情况。VBA for Excel、powerpoint、access等 问题1:为什么会有这样的代码 问题2:我如何向某人发送word宏文件而不必担心前面的代码会妨碍我 问题1:为什
Normal.dotm
是标准文档模板
无论何时启动Microsoft Office Word 2007,Normal.dotm模板都会打开,其中包括确定文档基本外观的默认样式和自定义设置
打开空白文档时,我认为默认情况下Word将使用此模板,因此Normal.dotm文件中的任何宏都将保留在“新”文档中,而且Normal.dotm
将显示在VBE中。(如果您有一个Personal.xlsb
文件,这实际上与Excel类似,尽管默认情况下Excel中不存在此文件)
问题2:我如何向某人发送word宏文件而不必担心前面的代码会妨碍我
在发送到其他模块之前,您始终可以手动从文件中删除任何不需要/不需要的模块
或者,分发宏的更好方法是在文档模板或外接程序文件中
或者,您可以将模块代码导出为文本文件,其他用户可以将其导入。为您提供了一个可靠的答案,但要添加一些附加信息来解释此行为:
打开/关闭/更改任何文档(全局行为)时,将触发正常模板。因此,如果您将一些宏代码添加到Normal模板中,则即使在打开空白Word文档时,也会出现这种情况
为了避免这种情况,要么不要将代码放在您不希望在全球范围内发生的Normal中,要么遵循David答案中的一个备选方案。我的猜测是,您希望宏只链接到某些文档,在这种情况下,您应该将它们放置在正常之外,以避免出现冲突行为。我个人更喜欢用于全局行为的插件,如果这正是您所寻找的,因为它们不会在Normal中的现有代码中产生任何奇怪的行为 很好的答案:)与文档模板的发布方式相比,正常的全球性质可能值得一提?@DonkeyKong可以随时用这些信息修改/更新我的答案,我在Word中没有做太多的开发,因此我对这一点不像我对PPT或XLS那么熟悉。谢谢你的回答。但造成问题的不是我这边的额外代码,而是接收方的代码。“即使他打开一个空白的word文件,那里也已经有一堆代码了。”贝纳姆,我可以解释一下。