【问题标题】:Change from read-only to read-write does not trigger workbook_open in xlsm从只读更改为读写不会触发 xlsm 中的 workbook_open
【发布时间】:2014-04-10 14:58:29
【问题描述】:

当我尝试打开服务器上其他用户打开的 excel 文件时,excel 为我提供了两个选项:

1) 以只读模式打开excel文件

2) 以只读模式打开 excel 文件,并在其他用户离开 excel 文件进行写入时通知我

如果我选择第二个选项,一旦其他用户离开 excel 文件,我会在我的 excel 中收到消息并以读写模式打开 excel 文件。如果此 excel 文件包含 auto_open(或 workbook_open)子例程,则它仅在打开 excel 文件期间运行,而不是在将访问权限从只读模式更改为读写模式时再次运行。

这在 xlsm 文件的情况下有效。对于旧的 xls 文件,auto_open (workbook_open) 在打开文件期间以及将模式从只读更改为读写期间都有效。

在 xlsm 文件中从只读模式更改为读写模式期间,有什么方法可以触发任何其他子程序?如果没有,有没有办法在有关只读 excel 文件的警告消息中阻止选项“通知”?

warning message same as here

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    我不得不说不,你不能阻止“通知我”选项,但你可以做的是使用一个全局变量并在加载函数中评估该变量来判断它是否为假(没有运行)然后做任何事情,如果它是真的(意味着它已经运行)那么不要做任何事情

    【讨论】:

    • 实际上我想在用户打开我的excel文件进​​行写入时触发一些动作。虽然 auto_open 加载函数不知道在 excel 启动时是否会打开 excel 文件以供稍后写入。恐怕全局变量本身对我没有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多