0

This VBA code displays context-sensitive help in a CHM in 32-bit Microsoft Office and VBA6:

Private Declare Function HtmlHelp Lib "HHCtrl.ocx" Alias "HtmlHelpA" _
     (ByVal hWndCaller As Long, _
      ByVal pszFile As String, _
      ByVal uCommand As Long, _
      dwData As Any) As Long

Const HH_DISPLAY_TOPIC As Long = 0
HtmlHelp hwnd, sPathToCHM, HH_DISPLAY_TOPIC, ByVal "topic_name.htm"

This code displays nothing and no error messages in 64-bit Microsoft Office with VBA7:

Declare PtrSafe Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" _
    (ByVal hwndCaller As LongPtr, _
    ByVal pszFile As String, _
    ByVal uCommand As Long, _
    ByVal dwData As String) As Long

HtmlHelp(hwndCalling, strHelpTopicFile, HH_DISPLAY_TOPIC, strHelpTopic)
WorkingMatt
  • 639
  • 8
  • 24
  • You don't declare HH_DISPLAY_TOPIC in the VBA7 code - is that an typo or is it missing in the actual code? How are you setting your other variables? – WorkingMatt Mar 17 '21 at 00:28
  • 1
    This is what I'm testing: Declare PtrSafe Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal hwndCaller As LongPtr, ByVal pszFile As String, ByVal uCommand As Long, ByVal dwData As Long) As LongPtr Public Function TestHelp(Optional strHelpTopic As String = "") As LongPtr Const HH_DISPLAY_CONTENTS As Long = 1 Const OWNER_HANDLE As LongPtr = 0 Const NO_TOPIC As Long = 0 TestHelp = HtmlHelp(OWNER_HANDLE, "C:\univiewer.chm", HH_DISPLAY_CONTENTS, NO_TOPIC) End Function – Mike McGlincy Mar 18 '21 at 18:17
  • May I suggest you update your question with that information formatted as a code block? – WorkingMatt Mar 29 '21 at 16:04

0 Answers0