How to Integrate a CHM File with MS Office VBA Application

If you develop an MS Office application on VBA and want to integrate a CHM help file to it, you can do so by using the appropriate functions of HTML Help API.

Using the sample VBA code from this article, you can provide basic functionality such as calling a specific help topic or just showing your help file to the end-user.

Declare the HTMLHelp() API Function

First, you should add the following code that adds the HTMLHelp() function and also declares some constants that we will use.

Public Const HH_DISPLAY_TOPIC = &H0
Public Const HH_DISPLAY_TOC = &H1
Public Const HH_DISPLAY_INDEX = &H2
Public Const HH_HELP_CONTEXT = &HF

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

Show a Specific Help Topic Using Its Context Number

The code below will open your CHM file and also display the requested topic with Context Number equal to 50:

HTMLHelp 0, "YourHelpFile.chm", HH_HELP_CONTEXT, 50

Open the Help File at Default Topic

You may also need to just open the help file, so the user will see the Table of Contents on the left side and the default topic in the right side of the HTML Help viewer.

HTMLHelp, 0, "YourHelpFile.chm", HH_DISPLAY_TOC, 0

Related Links

You can also visit the links below for information on using a CHM file in other development tools.

Comments

No one has left a comment for this page yet. Be the first person to write a comment!

Add a Comment

Full name:
Comment:
Enter the code on the image:
Security image

Download a Help Authoring Tool

You can download one of the recommendable help authoring tools that combines a rich feature-set, slight learning curve, and affordable price.

HelpSmith main window
HelpSmith main window
Product Details:
Details Value
Product HelpSmith 10.1.1
Filename HelpSmithSetup.exe
File size 64 MB
Platform Windows 11/10/8/7
System
requirements
1 GHz processor, 512MB RAM, 150MB free disk space