Excel 错误“此工作簿包含 Excel 4.0 宏或 Excel 5.0 模块”

Excel 错误“此工作簿包含 Excel 4.0 宏或 Excel 5.0 模块”

我有一个通过“保护工作簿”功能保护的工作簿。它被发送给其他人进行修改。当他们将其发回时,它已不受保护,当我尝试重新保护它时,我收到此错误,

“此工作簿包含 Excel 4.0 宏或 Excel 5.0 模块。如果您想要密码保护或限制对此文档的权限,则需要删除这些宏。”

我查看了一下,发现编辑后的文件中没有新的宏。原始文件包含相同的宏,并且可以设置写保护,所以我不确定修改后的文件为什么会出现问题。此错误的常见原因和解决方案是什么?原始文件没有错误,而修改后的文件有错误,这合理吗?

答案1

尝试单击“保护工作簿”,然后取消选择“保护结构和窗口”。对我来说,这个方法有效。

答案2

当然,以下内容适用于任何正在搜索此问题并需要解决方案的人。我敢肯定,发帖人早就不再关心了!

消息出现的原因主要分为两类:

  1. 某人在其 Excel 副本中启用了该文件,他可以使用 Excel 4(和 5,但人们就是这么称呼它们的)宏、命令和宏页面,并且实际上可以创建文字宏。当然,它们看起来与 VBA 宏不同,但一旦您看到它们,您就会很快明白。

不见得。

  1. used one of the viable (for this kind of use) Excel 4 macro commands拥有命名范围内文件的人。这很可能就是发生的情况。

由于 Excel 4 宏命令就是宏命令,因此使用它们(无论是在文字宏中还是在命名范围内)都会触发 Excel 将电子表格视为其中有宏。直到 2021 年初左右,您都可以保存使用它们的文件(此时在命名范围内,而不是实际的宏中),并且在保存过程中,Excel 会警告您将文件保存为启用宏的文件(即:.XLSM,而不是 .XLSX)。您可以说“不!”保存将像往常一样工作,并且这种责备永远不会再出现。打开文件没有发出任何警告,命名范围内的公式工作正常。

在过去的一年多时间里,这种情况不再发生了。如果您拒绝使用 .XLSM 格式,当您下次打开时,Excel 4 函数将消失,并且使用它们所属的命名范围的单元格公式将被破坏。如果您确实使用 .XLSM 格式,那么很多人将不会打开您的电子表格。但如果他们这样做,命名范围使用的公式将起作用。

第二个肯定是您需要探索的。打开名称管理器并开始检查命名范围,查看其Refers to内容(通常是公式或范围)。您正在寻找任何 Excel 4 函数名称。

例如,EVALUATE()是 Excel 4 宏语言中的一个很棒的函数,现代版本中绝对没有对应的函数。根本没有,甚至没有接近的。如果您从我这里拿回电子表格并且出现此消息,那么我可能会在 10 次中有 7-8 次使用这个函数。(当然,我绝不会留下如此明显的迹象表明我破坏了保护(世界上最简单的事情)并使用您的电子表格。其他人更粗心或根本不在乎,真可悲。)

无论如何,您发现的任何不认识的函数都可以通过两种简单方法之一进行检查。您可以在互联网上搜索该函数。如果它是 Excel 4 宏命令之一,您绝对会在跟进的第一个或第二个结果中看到这一事实。人们希望您知道他们知道一些您不知道的东西,想象一下您正在让人们惊叹不已,这很有趣。

另一种方法更简单。只需转到单元格并使用该函数启动公式,然后在输入函数名称时查看帮助是否Intellisense出现。如果没有,则说明您找到了其中一个(其他人可能使用得更多)。完成该函数,然后按 Enter 并查看它是否出错#NAME!或执行了...其他任何操作。任何出现该错误的函数都是其中之一。

此时,或者在做其他事情之前,你可以联系对方并说“嘿,你做过这种事吗?”很多人会不好意思地说“哦,嗯,是的……”并帮你收拾东西。不过,也有不少人会闭口不谈,盯着你看,好像你刚长出鹿角一样:

如果您没有创建这些命名范围,请删除它们。这是最有可能发生的事情。在其他人留下的电子表格中使用它们会失败,但您无论如何也不想要它们。运行它们并删除它们或根据需要修复它们。这可能很简单,有相当明显的用途,可以删除或简单修复。可能会相当复杂,特别是如果这个人确实试图清理并留下了真正的混乱。

有一系列outside the question itself因素需要考虑,即是否再次与该人合作,而没有管理监督他所做的可怕工作,但这适用于那些正在寻找更普遍的问题并需要前进的人,并且可能更喜欢非对抗性的前进方式。

最后,这是有可能的,尽管可能性极小,因为他会以某种方式修改它并将其重新呈现,大概是为了一般用途。虽然他可能不知道微软采取措施收紧对这些命令的使用(公司现在可以通过信任中心和企业政策完全关闭它们,虽然以前可能这样做,但程序之前并没有主动提出这一点),因为他们终于认真考虑了 25 年来第一次取消这些命令,但他肯定不会想到要继续自己编写实际的 Excel 4 宏。但如果他真的这么做了,这些宏会被放在为它们插入的特殊页面上,而且很容易被发现。但是如果他做了那种事,说真的,他的修改在他的计算机之外是完全无法使用的,因为没有其他人会接受它们。回到发送给他的原始文件,找到另一种方法来修改电子表格。

我说这些是因为我在自己的 Excel 副本中启用了它们,但绝不会将它们强加给其他人作为可接受的工作。它们是我自己的工作用的,很少用。绝对不会交给别人。

相关内容