Vba 避免和处理“文件正在使用”Excel通知

Vba 避免和处理“文件正在使用”Excel通知,vba,excel,Vba,Excel,我目前正在使用Excel开发注册系统。 因此,我有一个.xlsm文件,用户可以访问该文件进行注册。 我有一个.xlsb文件作为我的数据库。 这两个文件都位于网络驱动器中,多个用户可以在其中访问 以下是我的宏的功能: 从用户处收集信息。 打开数据库(.xlsb文件),然后写入信息,然后关闭并保存。 我包括了一个例程,该例程将检查.xlsb文件是否打开,如果打开,则无法注册。 我还包括一个例行程序,将发送通知电子邮件给我,如果有人成功注册。该电子邮件提供了指向.xlsb文件的链接 问题: 这是我的问

我目前正在使用Excel开发注册系统。
因此,我有一个
.xlsm
文件,用户可以访问该文件进行注册。
我有一个
.xlsb
文件作为我的数据库。
这两个文件都位于网络驱动器中,多个用户可以在其中访问

以下是我的宏的功能:

  • 从用户处收集信息。
  • 打开数据库(
    .xlsb文件
    ),然后写入信息,然后关闭并保存。
  • 我包括了一个例程,该例程将检查
    .xlsb
    文件是否打开,如果打开,则无法注册。
  • 我还包括一个例行程序,将发送通知电子邮件给我,如果有人成功注册。该电子邮件提供了指向
    .xlsb
    文件的链接
  • 问题:

    这是我的问题。

    上述设置工作正常。
    但是突然,我无法继续注册,因为它说该文件正在使用中(即
    .xlsb
    文件)。
    因此,我在
    网络驱动器中检查了该文件,并手动打开它,如下所示:

    通常,当我遇到上述情况时,我选择了
    Notify
    ,5-10秒后,将弹出一个读写通知。
    这次没有。
    我等待了5分钟,读写通知从未出现。

    这样,注册
    .xlsm
    就不起作用了,因为系统在我的
    .xlsb
    文件上触发了使用寿命
    文件的状态。

    问题:

  • 如何修复此问题?
  • 我怎样才能避免这种情况发生。
  • 是否有方法跟踪文件当前链接的位置?
  • 如果您需要查看我的代码,我会提供。
    我只是觉得问题不在这里,所以我没有发布任何信息。

    如果您有任何澄清,请将其注释掉。
    我提出的一个解决方法是在访问
    .xlsb
    文件时使用
    ADODB

    这样就无需打开/关闭文件。


    我很快将整个系统迁移到Access,使用正确设置的前端和后端数据库
    将此作为答案发布给那些试图做与指针相同的事情来寻找可能的解决方案的人。

    也许可以让网络管理员帮你关闭它。我曾经为小型网络上的用户这样做,当文件像你描述的那样卡在“打开”状态时。如果内存可用,则与网络共享有关。从长远来看,可能会切换到数据库或SharePoint或是同时为多个用户设计的东西。@Douglancy是的,我就是这么做的。我向海军部求助。当然,用户不能每次都这样做。我也同意DBase或SP的想法,但我只需要一个临时系统来满足这种事务。那么,用户的数量可以归类为小,但文件所在的网络很大。这可能就是导致无限开放状态的原因。我在想,也许有一种方法可以改进,或者有一种方法可以解决我想要的东西。我相信你会从中学到很多:)祝你好运。