Moving from CHM to online help for XLL

Add-in Express™ Support Service
That's what is more important than anything else

Moving from CHM to online help for XLL
Moving from CHM to online help for XLL 
Subscribe
Pierre Alain Carrier




Posts: 48
Joined: 2011-12-22
Hello,

Our XLL currently uses a chm file for help with each function being assigned a HelpTopicId.

We now want to get rid of the chm and use an online Knowledge page. There is a page (url) for each function. How can we set this up so that the link in the Excel Function assistant points to the correct url in our Knowledge base?

Thank you.
Posted 24 Jan, 2024 21:19:14 Top
Andrei Smolin


Add-in Express team


Posts: 18833
Joined: 2006-05-11
Hello Pierre,

I've never did this but you can try to follow the description of the ADXXLLModule.HelpFile property:

        /// <summary>
        /// The path and file name of a CHM file providing help topics for the add-in.
        /// </summary>
        /// <remarks>This property combined with the ADXExcelFunctionDescriptor.HelpTopicId property 
        /// creates a reference to the Help file (.chm or .hlp) to display when the user clicks the 
        /// Help button (when your custom function is displayed). Can be in the form 
        /// filepath!HelpTopicId or http://address/path_to_file_in_site!0. 
        /// Both parts before and after the "!" are required. HelpTopicId must not contain single 
        /// quotes, and will be converted by Excel to an unsigned integer 4 bytes long, in decimal 
        /// form. When using the URL form, Excel opens only the referenced help file.
        /// </remarks>
        [Browsable(true), DefaultValue(""),
        Description("The path and file name of a CHM file providing help topics for the add-in. See also Remarks.")]
        public string HelpFile
        {
            get
            {
                return helpFile;
            }
            set
            {
                helpFile = value;
            }
        }


Regards from Poland (GMT+1),

Andrei Smolin
Add-in Express Team Leader
Posted 25 Jan, 2024 09:13:28 Top
Pierre Alain Carrier




Posts: 48
Joined: 2011-12-22
Hello Andrei, thank you for your answer.

I have been playing with this, but still cannot get it to work.

This is the best I have so far:

HelpFile = "https://www.mysupportsite.com/article";

functionDescriptor.HelpTopicId = "?art=1!0"


This will result the URL being: https://www.mysupportsite.com/article!?art=1

Notice the '!' added between the 2 parts of the url. If it didn't add that, it would work.

Any ideas?
Posted 25 Jan, 2024 20:54:40 Top
Andrei Smolin


Add-in Express team


Posts: 18833
Joined: 2006-05-11
Hello Pierre,

Below is the description of the HelpTopicID property. Note that in Add-in Express these properties are mapped to the constructs that Excel uses to generate the final URL. Say, the HelpTopicID description matches that of the HelpContextID part of pxHelpTopic (see https://learn.microsoft.com/en-us/office/client-developer/excel/xlfregister-form-1).

/// <summary>
/// The ID of the help topic associated with the function.
/// </summary>
/// <remarks>The ADXXLLModule.HelpFile property combined with the HelpTopicId property
/// creates a reference to the Help file (.chm or .hlp) to display when the user clicks the
/// Help button (when your custom function is displayed). Can be in the form
/// filepath!HelpTopicId or http://address/path_to_file_in_site!0.
/// Both parts before and after the "!" are required. HelpTopicId must not contain single
/// quotes, and will be converted by Excel to an unsigned integer 4 bytes long, in decimal
/// form. When using the URL form, Excel opens only the referenced help file.
/// </remarks>


Regards from Poland (GMT+1),

Andrei Smolin
Add-in Express Team Leader
Posted 26 Jan, 2024 15:29:34 Top