如何阻止用户手动关闭Word的VB6自动化实例?

时间:2018-09-09 23:32:18

标签: vb6 word-automation

我的问题是对自动化实例的绝对控制。我正在使用VB6自动生成在工作场所中使用的表格。该应用程序处于Beta版,并且我已经编写了一个用户手册,以向新用户介绍该应用程序。解释GUI的子功能。我使用GUI上的命令按钮在Word实例中打开和关闭用户手册。所有这些都很好,直到用户在运行该应用程序时手动将其关闭为止。这会杀死Word实例,但是我需要停止用户关闭Word实例,或者让应用程序意识到该实例已消失。我的自动化知识很浅。我改编了VBA宏中的子例程。请帮忙。

2 个答案:

答案 0 :(得分:5)

  

我需要阻止用户关闭Word实例,或者   应用程序意识到实例已消失

两者都可以-使用“给我事件”语法声明Word变量,它将在代码中引发DocumentBeforeClose事件。

Public WithEvents mWordApp As Word.Application

Sub DoStuff()
    Set mWordApp = New Word.Application
    '// open doc ...
    mWordApp.Visible = True
End Sub

Private Sub mWordApp_DocumentBeforeClose(ByVal Doc As Document, Cancel As Boolean)
    Cancel = MsgBox("Word is closing, keep open?", vbYesNo) = vbYes
End Sub

答案 1 :(得分:0)

MSOffice应用程序实例的“ ... WithEvents ...”声明是解决此问题的方法。该应用程序的事件列表允许程序员从幕后完全自动化地控制实例。谢谢大家!