ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何在打开excel文件时隐藏工作簿内容窗口?

如何在打开excel文件时隐藏工作簿内容窗口?

作者:绿色风 分类: 时间:2022-08-17 浏览:133
楼主
kevinchengcw
Q: 如何在打开excel文件时隐藏工作簿内容窗口?
A: 很多时候在制作类似登陆窗口的界面时,不希望在未登陆前看到文件的内容,但是用application.visible又会隐藏其他的打开程序界面,本例引用一个例子演示利用windows函数实现隐藏工作簿内容的方法,代码如下:
  1. Private Sub Workbook_Open()
  2. Windows(ThisWorkbook.Name).Visible = False  '这句就是隐藏本工作簿的窗口内容的语句
  3. Load UserForm1
  4. UserForm1.Show
  5. End Sub


在要恢复的时候只需要再来一句Windows(ThisWorkbook.Name).Visible = True就可以了。

附示例文件。
界面启动问题.rar
2楼
ZHM5420
谢谢,可能是我说的问题不是很详细,但是你的回复给我极大的提示:可以这样判断:当启动目标EXCEL文件时,VBA判断打开的EXCEL文件是否电脑中打开的第一个excel文件,如果是则执行:Application.Visible = False, 如果否,则执行你提供的代码。
再次谢谢啊!!
3楼
ZHM5420
修改代码后,较完善的启动窗口代码
Private Sub Workbook_Open()
    On Error Resume Next
    文件名 = ThisWorkbook.Name
    If Application.Workbooks.Count = 1 Then  '确认工作簿打开的数量
        Application.Visible = False
    Else
        Windows(文件名).Visible = False
    End If
    UserForm1.Show
End Sub

USERFORM1窗体中代码
Private Sub CommandButton1_Click()  '进入工作簿
    Unload UserForm1
    On Error Resume Next
    Application.Visible = True
    Windows(ThisWorkbook.Name).Visible = True
End Sub
Private Sub CommandButton2_Click()  '退出工作簿
On Error Resume Next
    Unload UserForm1
    Workbooks(文件名).Saved = True  '关闭前不保存
    Windows(文件名).Close
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then
        Cancel = 1  '当点击窗体关闭按钮时,使其失效
    End If
End Sub

模块中代码
Public 文件名 As String  '定义打开工作薄文件名称的变量
界面启动问题(完结).rar

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap