在一个程序中,需要打开Excel。但是,希望在关闭Excel的时候首先通知启动程序,该如何解决?

解决方案 »

  1.   

    Dim ExcelApp As Excel.Application
    Dim ExcelSheet As Excel.WorkbookSet ExcelSheet = CreateObject("excel.sheet")
    Set ExcelApp = ExcelSheet.Application
    ExcelApp.Workbooks.Add
      

  2.   

    楼上的兄弟,对Excel启动什么的都没问题,关键是怎么在用户关闭Excel之前通知主程序。Excel是以多线程启动的,但是不能以WaitForSingleObject来判断线程结束,必须在用户点击关闭或突出按钮,而Excel没有关闭之前响应。
      

  3.   

    一个需要大量应用到VBA的项目,而又不能以Add-In来做,因为必须把Excel的各种菜单、快捷键,包括其他的各类界面都换掉,这些都能搞定了。关键目前是Excel的关闭必须首先通知控制程序,以完成一些清扫工作。以前我一直是把系统菜单的关闭按钮取消掉来完成的,可觉得不太合适。而我想应该可以通过截获WM_CLOE或WM_QUIT来进行。而我用Spy++和MySpy都可以拦截这类消息。
    遗憾的是,VB在做全局钩子的时候太令人失望,希望能找到这方面的例子。
      

  4.   

    估计你也只能找到用vc做的dll,vb做得还真没有好像是vb做不了全局的钩子dll