比如我打开了一个excel,然后把excel窗体setparent到我的form1窗体上,如果在关闭form1窗体之前先关上excel窗体就不会出现错误,如果直接关闭则出现地址错误。
所以我想此问题的解决方法是在关闭form窗体之前先找到此excel窗体,关闭它。
我设想在关闭form1窗体前先找到excel窗体然后发消息关闭它,结果发现当把excel窗体setparent我的form1窗体上时,系统就FindWindow不到excel窗体了,我在form1上FindComponent也找不到它,我该怎么找到他并关闭它呢?或者还有其他的方法?另发现: 当我把excel窗体setparent到我的窗体上时,excel无法使用(例如编辑表格),这是怎么回事呢?和内部机制有关?一点头绪都没有,请高手指点!

解决方案 »

  1.   

    你能用 SetParent, 那就說明了你已經找到 Excel的handle了, 保存, 需要時再將對應的這個handle, Setparent成桌面的子窗體!
      

  2.   

    Setparent成桌面的子窗體?这句话如何实现?我查过了,桌面的子窗体的父handle为nil,我打算用setparent(excel's handle, null),去赋值,可是此函数不允许赋值为空,请问我如何把它设为桌面的子窗体呢? 
    ^^aiirii(ari),你好,以前你就帮过我,谢谢你了~
      

  3.   

    我知道如何Setparent成桌面的子窗體了,setparent(excel's handle, 0)就可以了。
    另外还有个问题:
      当我把excel窗体setparent到我的窗体上时,excel无法使用(例如编辑表格),这是怎么回事呢?和内部机制有关?一点头绪都没有,请高手指点!