![]() |
programmatically close help file before Excel closes?
Using Excel XP.
I am having the following problem. Have a userform that can launch a .chm help file with the following code: 'this API function is for displaying the help file Private Declare Function HtmlHelpTopic Lib "hhctrl.ocx" _ Alias "HtmlHelpA" _ (ByVal hWnd As Long, _ ByVal lpHelpFile As String, _ ByVal wCommand As Long, _ ByVal dwData As String) As Long Sub ShowHtmlHelp(ByVal strHelpFile As String, _ Optional ByVal strHelpPage As String) Const HH_DISPLAY_TOPIC As Long = &H0 On Error Resume Next HtmlHelpTopic 0&, strHelpFile, HH_DISPLAY_TOPIC, strHelpPage End Sub Sub ShowHelp() Dim AddinFolder As String AddinFolder = _ Left(ThisWorkbook.FullName, Len(ThisWorkbook.FullName) - 21) ShowHtmlHelp AddinFolder & "\Test.chm" End Sub This works all fine. The problem is when the help file is loaded, the userform gets closed and then Excel gets closed. Excel then crashes. So I have to make sure that the help file gets closed before Excel closes. Perhaps I need an API function here, but I can't figure it out. Thanks for any advice. RBS |
programmatically close help file before Excel closes?
Hi RB,
The return value from the call to HtmlHelp is the hWnd of the help window, which you should store in a module-level variable, then use the SendMessage API function to send it a WM_CLOSE message to close it. Regards Stephen Bullen Using Excel XP. I am having the following problem. Have a userform that can launch a .chm help file with the following code: 'this API function is for displaying the help file Private Declare Function HtmlHelpTopic Lib "hhctrl.ocx" _ Alias "HtmlHelpA" _ (ByVal hWnd As Long, _ ByVal lpHelpFile As String, _ ByVal wCommand As Long, _ ByVal dwData As String) As Long Sub ShowHtmlHelp(ByVal strHelpFile As String, _ Optional ByVal strHelpPage As String) Const HH_DISPLAY_TOPIC As Long = &H0 On Error Resume Next HtmlHelpTopic 0&, strHelpFile, HH_DISPLAY_TOPIC, strHelpPage End Sub This works all fine. The problem is when the help file is loaded, the userform gets closed and then Excel gets closed. Excel then crashes. So I have to make sure that the help file gets closed before Excel closes. Perhaps I need an API function here, but I can't figure it out. Thanks for any advice. Regards Stephen Bullen Microsoft MVP - Excel www.BMSLtd.co.uk |
programmatically close help file before Excel closes?
Stephen,
Thanks for that. Got it sorted now. RBS "Stephen Bullen" wrote in message ... Hi RB, The return value from the call to HtmlHelp is the hWnd of the help window, which you should store in a module-level variable, then use the SendMessage API function to send it a WM_CLOSE message to close it. Regards Stephen Bullen Using Excel XP. I am having the following problem. Have a userform that can launch a .chm help file with the following code: 'this API function is for displaying the help file Private Declare Function HtmlHelpTopic Lib "hhctrl.ocx" _ Alias "HtmlHelpA" _ (ByVal hWnd As Long, _ ByVal lpHelpFile As String, _ ByVal wCommand As Long, _ ByVal dwData As String) As Long Sub ShowHtmlHelp(ByVal strHelpFile As String, _ Optional ByVal strHelpPage As String) Const HH_DISPLAY_TOPIC As Long = &H0 On Error Resume Next HtmlHelpTopic 0&, strHelpFile, HH_DISPLAY_TOPIC, strHelpPage End Sub This works all fine. The problem is when the help file is loaded, the userform gets closed and then Excel gets closed. Excel then crashes. So I have to make sure that the help file gets closed before Excel closes. Perhaps I need an API function here, but I can't figure it out. Thanks for any advice. Regards Stephen Bullen Microsoft MVP - Excel www.BMSLtd.co.uk |
All times are GMT +1. The time now is 08:13 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com