我正在运行一个 [Edit] 只读(第 3 方!)[/Edit] SQL 数据库、一个 xlsm、一个 xls(保存的 xlsm 副本,只是没有宏)和一个 mdb(Access 数据库)。
它们的链接如下:
- xlsm 每 5 分钟通过在 Workbook_Open 上触发的 Application.OnTime 代码从 SQL 数据库中获取数据。
- 然后 xlsm 将自身保存为 2003 xls。
由于此时代码模块仍然存在(工作簿尚未关闭),我可以打开 Access mdb 并刷新 Excel 链接到 2003 数据中的表,然后关闭 Access。
然后我重新打开 xlsm,触发一个新的 Application.Ontime 实例。
- 我终于关闭了 2003 xls 工作簿。
此序列在办公时间运行,并在下午 5 点后的第一次运行时设置一个计时器以在早上再次启动该过程。
我的问题是,每当我打开带有 xlsm 连接或链接的文件时,Workbook_Open 事件似乎就会触发,我最终会在“客户端”计算机上打开 2003 xls。我知道这不仅仅是我(我最初创建文件的PC)上的剩余Application.OnTime,因为现在它正在使用中,其他从未打开xlsm的客户端在使用Excel时会随机弹出2003文件。
如果这还不足以让某人知道发生了什么,我会很乐意发布代码 - 但我希望有人以前看过这个或者知道这个新手错误,并且可以简单地给我一条我缺少的行。
非常感谢你的帮助!