避免和处理`使用中的文件'Excel通知

时间:2014-03-06 03:19:05

标签: excel vba excel-vba

我目前正在使用Excel进行注册系统 所以我有一个.xlsm文件,用户可以访问该文件进行注册 我有一个.xlsb文件作为我的数据库 这两个文件都位于多个用户可以访问的Network Drive中。

以下是我的宏所做的事情:

  1. 从用户收集信息。
  2. 打开数据库(.xlsb file),然后写信息,然后关闭并保存。
  3. 我添加了一个例程,用于检查.xlsb文件是否已打开,如果是,则无法注册。
  4. 我还提供了一个例程,如果有人成功注册,我会向我发送通知电子邮件。该电子邮件提供了.xlsb文件的链接。
  5. 问题:

    这是我的问题。

    以上设置工作正常 但突然之间,我无法进行注册,因为它说该文件正在使用中(.xlsb文件) 所以我检查了Network Drive中的文件并手动打开它,然后出现:

    File in use notification

    通常情况下,当我进入上面时,我选择了Notify,在5-10秒后,会弹出一个读写通知。
    这次没有。我等了,持续了5分钟,读写通知从未到过。

    这样,注册.xlsm不再有效,因为系统会在我的file-in-use文件中触发终身.xlsb状态。

    问题:

    1. 我该如何解决这个问题?
    2. 我怎样才能避免这种情况发生。
    3. 有没有办法跟踪文件当前链接的位置?
    4. 如果您需要查看我的代码,我会提供 我只是觉得问题不在那里,所以我没有发帖 如果您有任何澄清,请发表评论。

1 个答案:

答案 0 :(得分:0)

我提出的解决方法是使用ADODB访问.xlsb文件。
这消除了打开/关闭文件的需要。

我很快将整个系统迁移到Access,并正确设置了前端和后端数据库。
发布这个作为那些试图做一个可能解决方案指针的人的答案。