【发布时间】:2015-11-10 09:38:06
【问题描述】:
我正在做一个需要 excel 文档和 word 文档的项目。我已经将 Excel 文档完全编程为使用 UserForms 工作,其中一个在打开文档时会自动打开。 (见下面的代码)
Private Sub Workbook_Open()
frmOpen.Show
End Sub
word 文档已被编程为从该 excel 文档中读取数据并将其写入报告中。 (见下面的代码)
Private Sub cmdAutomatic_Click()
Dim objExcel As New Excel.Application
Dim exWb As Excel.Workbook
Dim selectID As String
Set exWb =objExcel.Workbooks.Open("C:\ Path")
exWb.Close
''Data is written into the document here
Set exWb = Nothing
Unload Me
End Sub
问题是每次按下此按钮时,它都会从 excel 文档打开用户表单并暂停其他代码,直到用户表单关闭。有没有办法只打开用户表单。
我试过了
Application.EnableEvents = False
然而这只是返回一个未找到的方法或数据成员(所以我假设这必须运行 excel 到 excel?)
抱歉,如果此问题已得到解答,我找不到任何解决此问题的内容。如果这有一个非常简单的解决方案也很抱歉,这是一个学校项目,这是我第一次使用 VBA
编辑: 我意识到执行以下操作可能会起作用
exWb.Application.EnableEvents = False
但是,因为我需要将它放在“设置”之前以阻止表单打开,所以它不起作用(因为对象没有设置在行运行的点)。
【问题讨论】:
-
将
frmOpen.Show行更改为frmOpen.Show vbmodeless这将启动表单但不会停止其他代码