xml namespace for creating HLP

Sep 5, 2013 at 6:56 AM
Hi!

Is there any full example shows how to use xml namespace to build HLP documentation fo XLL?

Thank you!
Coordinator
Sep 5, 2013 at 2:30 PM
Yes
    .Documentation(XML_FILE(_T("file.xml")))
The junk in the xml namespace was a bad idea. Install Sandcastle Help File Builder and use Visual Studio to edit the MAML docs.
Sep 5, 2013 at 7:27 PM
An XML file is Sandcastle output file or where is help file?
Coordinator
Sep 5, 2013 at 8:15 PM
The macro XLL.DOC produces all the files need by Sandcastle and builds the help file in Debug\project.chm. You can write XML files yourself and include them in the documentation. That is better than using the junk in the xml namespace.
Sep 6, 2013 at 4:40 AM
Sorry? but I'm not understand how to write this xml files with Sandcastle and how link help topics to my function help in Wizard.
May be you have a little example?

Thank you!
Sep 6, 2013 at 8:25 AM
And why XLL.DOC macros not crate chm files?
Sep 6, 2013 at 10:14 AM
Now, how to set in HelpTopic path to CHM file with my XLL file: my xll file is in C:\XLLs, but Excel 2007 search CHM file in C:\Program Files\Microsoft Office\Office12.

How to fix this? thank you!
Sep 6, 2013 at 12:22 PM
And what about .HxS files? Can I use .HxS files instead chm? Thanks.
Coordinator
Sep 6, 2013 at 12:53 PM
XLL.DOC not creating chm files is a problem. What version of xll are you using, what is your OS and architecture, and what version of Excel are you using? Also, are you getting any error messages?

It figures out the help ids for you when it creates the chm. If you install Sandcastle visual studio will help you author xml files that you can use as I mentioned above.

I don't know how to generate and use HxS files.
Sep 6, 2013 at 5:41 PM
I've use last XLL version, Windows 7 x32 in Excel 2007/2010.
Well I've created chm files. Now Excel search chm file in Excel work - directory - C:\Program Files\Microsoft Office\Office12. But I want to show help from my xll folder. How to fix this?

Thanks
Coordinator
Sep 6, 2013 at 6:39 PM
When you register a function you can specify the help file to use. You should give it the full path name and topic id.
Sep 6, 2013 at 6:55 PM
How to get full path to my XLL folder? And how it use in register function code?
Coordinator
Sep 8, 2013 at 3:09 AM
You know the path to your XLL folder, but that not might work if you give your add-in to someone else. Use XArgs::HelpTopic to specify it.

If you use XLL.DOC all you need to do is put the chm file in the same folder as your xll.

XLL.DOC is not well documented because I barely understand how to get all the Sandcastle components to work. That needs to be rewritten before it is ready for general consumption. Hopefully Microsoft will be more forthcoming with their latest tools for producing integrated documentation.
Sep 9, 2013 at 10:19 AM
Sorry, but I'm not understand how to get full path (without XLL name) to my XLL for using in XArgs::HelpTopic?
In Excel SDK full XLL path (with file name):
static XLOPER12 xDLL;
Excel12f(xlGetName, &xDLL, 0);
Thank you!
Coordinator
Sep 9, 2013 at 3:19 PM
Are you asking me how to drop the characters from the last slash to the end of the string?
Sep 9, 2013 at 5:42 PM
No, I'm asking how to get XLL path with your library.
Thanks.
Coordinator
Sep 9, 2013 at 5:45 PM
There's a GetName in there somewhere if you don't like xlGetName. You are smart enough the figure this out without pestering me all the time.
Sep 9, 2013 at 6:43 PM
I can't find replace for Excel12f function in your library.
Sep 9, 2013 at 7:00 PM
Sorry, but how to get XLL full path in your library?

Thanks!
Sep 10, 2013 at 4:40 AM
In Excel 2007 x32 this code:
static XLOPERX xDLL;     
    ExcelX(xlGetName, xDLL);
    ExcelX(xlcAlert, xDLL);
return "Excel returned invalid OPER structure" message.