怎么能用vb关闭某个EXCEL文件的vba窗体

我得朋友有个带有vba的excel文件,这个excel文件在打开时候自动弹出vba窗体,作业人员通过vba窗体将数据录入到该excel的sheet中。
而我要做的是不改变朋友现有的工作流程,我通过vb将他的作业人员录入到那个excel中的数据提取到我得sql数据库中,现在我已经可以实现提取数据,只不过我得程序每次提取他的excel文件的时候,总是先弹出那个vba窗体,我如果不去人为关闭那个窗体,我得读取数据就无法继续,我现在想要的帮助是我怎么写代码才能省去人为去关闭那个窗体的操作,谢谢

第1个回答  2012-04-09
最顶上加一条
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub Auto_open()
Sleep 1000 ' 1000毫秒后再打开UserForm窗体
UserForm.Open
End Sub
找到那个窗体的名称(我这里是举例UserForm)
Sleep 1000 休眠1000毫秒 自己调整时间
第2个回答  2012-04-09
打开vba编辑器(ALT+F11)
双击thisworkbook,你会看见至少一个过程,如:
Private Sub Workbook_Open()

End Sub
然后把这些过程注释掉保存再打开追问

先谢谢你,这个我知道,我说过我不能改变原有的使用方式。所以当我只是去点击excel的时候还得先弹出vba窗体

追答

vba窗体里加个代码就行,可设时间1s后自动unload me就可以,如果有过程操作先调用那个过程就行。

追问

我有点不太明白,如果关闭vba,那么excel操作用户就没有法子使用窗体录入了。前提一定不要改变excel用户的使用情况。
用vb调用excel中的vba的过程怎么写呢

追答

是vba的窗体还是一个对话框?如果是窗体按我上面去做,如果不是可以写个写个小程序使用api函数查找对话框标题,然后关闭就行,你的对话框标题是什么?

本回答被网友采纳
第3个回答  2012-04-09
这个可以试试先复制工作表到某个目录在打开工作表先新建一个sheet然后提取数据。
第4个回答  2012-04-09
其实可以加个热键实现该窗口的关闭和打开
第5个回答  2012-04-09
对象.userform1.hide

showmode 应该是false吧
相似回答