View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Stephen Bullen Stephen Bullen is offline
external usenet poster
 
Posts: 67
Default 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