目前面临一个与 Excel 有关的难以理解的问题......
我们开发了一个工作订单电子包,每天大约有一百名用户使用。它本质上是完全相同的工作簿,被复制并传送给用户(供他们填写)。该文件充满了可以执行各种操作的宏……
我们最近收到了新电脑(Windows 8,64 位,Office 2013),一开始一切都运行正常。
突然,大约两周前,我们开始遇到仅在某些计算机上不合逻辑的问题。
仅在某些计算机上,工作簿根本无法工作。我们在运行宏时会无缘无故地收到意外运行时错误“32809”,或者无缘无故地收到其他运行时错误……某些基本代码在某些计算机上无法运行。换句话说,我可以使用完全相同的文件并在两台相同的计算机上运行它,相同的宏会在一台计算机上抛出错误,而在另一台计算机上完美运行。我还可以将一台计算机上完美运行的文件发送给用户,如果该用户只是按“CTRL + S”然后将文件发回给我,则该文件的宏将不再起作用。这根本没有意义。
在“损坏”的文件中,我甚至尝试编写一些新代码进行测试……最基本的代码,如 Sheets("Job Time Sheet").Select 甚至不起作用。出于某种原因(再次强调,仅限某些计算机),无法通过编程访问两个工作表。
错误的原因似乎是两个特定的工作表(尽管工作簿在多台计算机上都能正常工作)。如果我创建副本,然后删除它们,文件就会重新开始工作。但由于这两个工作表无法通过 VBA 访问,因此修复过程无法自动化,需要手动完成,这是不可接受的。
整个事情都说不通。我认为 Windows/Office 更新是导致这种情况的原因,并确保我们用于测试的计算机都安装了最新更新。什么也没改变。
在一些文件损坏的计算机上,我们也尝试卸载/重新安装 Office,但没有成功。
有人知道问题可能出在哪里吗??????同样,相同的文件在 70% 的计算机上都能正常工作,这简直不合逻辑。我们都有完全相同的计算机、设置等。
请注意,当我们使用旧电脑和 Windows 7/Office 2013 时,我们没有遇到这个问题。这一切都是从新机器开始的。
答案1
来自 MS 的安全更新(12 月 14 日)肯定是问题所在。
一旦获得更新的人保存了文件,其他任何人都无法打开它,除非他们进行更新,这就是为什么它看起来是命中注定的……(问题会杀死 Active X 控件。)
Office 2007
获取所有 MS 更新的最新信息并重新启动
如果需要,请更新至 SP3(积分不足,无法发布链接)
安装安全更新安全更新
运行 FixIt 51029 补丁来删除 exd 文件修复 51029
Office 2010/2013
获取所有 MS 更新的最新信息并重新启动
运行 FixIt 51029 补丁来删除 exd 文件(与上面相同)
是的,在所有计算机上......
答案2
2014 年 12 月的 Office“更新”可能是罪魁祸首。
答案3
或者很多用户选择(目前)卸载安全更新(从 Windows 更新 > 已安装的更新)... 但我不认为这最终会是最好的解决方案,因为越来越多的人会“更新”。卸载:
Office 2013 KB2726958
Office 2010 KB2553154
Office 2007 KB2596927
答案4
是的,我看到了同样的问题。
我们混合了 2014 年 12 月之前的 Office 2013 SP、2014 年 12 月之后的服务包和 Office 2010。
我可以使用 SP 保存文件,在 2010 下打开它并出现错误。然后在 2010 下保存,重新打开,错误消失。在 2013 下再次打开,保存,错误再次出现。当工作表上有 ActiveX 控件时(在我的情况下是标签和组合),SP 似乎破坏了向后兼容性
将最新的 2013 Service pack 应用到 2013 和 2010 并删除 exd 文件已解决迄今为止尝试的所有情况下的问题。