隐藏具有特定条件的Excel应用程序

时间:2017-05-02 05:39:59

标签: excel vba excel-vba user-interface

我正在开发一个Excel VBA数据库和管理系统,我想在数据库运行时隐藏excel应用程序(仅显示Userforms),以及我是否打开另一个excel文件,它使应用程序再次可见。

首先我用过:

Sub workbook_open()

Application.Visible = False

End sub

Sub Workbook_beforeclose(Cancel as Boolean)

    Application.visible = True

End sub

这个问题是,当我运行这个特定的程序/数据库时,如果我愿意,它将无法同时使用excel获取其他文件。

我试图想出一个解决方案:

Sub Workbook_Open()

If Workbooks.count > 1 then 
    Application.visible = true
    Application.windows("mydatabase.xlsm").visible = false

Else      
    Application.Visible = False
    Application.ScreenUpdating = False
    SplashUserForm.Show (vbModeless)
End If

有了这个,我想到了使应用程序可见,特定的工作簿(mydatabase)不可见,如果只有特定的工作簿打开(mydatabase),一旦其他工作簿关闭,它将返回到application.visible = false。

这是我找到的解决方案,但我在执行此代码时遇到问题,因为一旦打开第二个工作簿(随机excel文件),它会使应用程序再次可见,但不会生成特定的工作簿(mydatabase) )隐形。

有人会知道如何执行此代码吗?或者我的问题的替代解决方案?

我想隐藏excel工作簿的原因是让它看起来像一个独立的程序,有自己的界面,并且有一种更独特的感觉,而不是在后台有工作簿或excel界面。

非常感谢

0 个答案:

没有答案