{"id":19543100,"url":"https://github.com/excel-dna/exceldnadoc","last_synced_at":"2025-07-29T19:19:45.216Z","repository":{"id":5277119,"uuid":"14592176","full_name":"Excel-DNA/ExcelDnaDoc","owner":"Excel-DNA","description":"Command-line utility to create a compiled HTML Help Workshop file (.chm) for Excel-DNA","archived":false,"fork":false,"pushed_at":"2024-11-16T13:50:27.000Z","size":7310,"stargazers_count":33,"open_issues_count":13,"forks_count":17,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-01-08T18:54:16.820Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://excel-dna.github.io/ExcelDnaDoc/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mndrake/ExcelDnaDoc","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Excel-DNA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-11-21T15:58:49.000Z","updated_at":"2024-11-16T13:50:31.000Z","dependencies_parsed_at":"2023-02-12T17:46:00.155Z","dependency_job_id":null,"html_url":"https://github.com/Excel-DNA/ExcelDnaDoc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excel-DNA%2FExcelDnaDoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excel-DNA%2FExcelDnaDoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excel-DNA%2FExcelDnaDoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excel-DNA%2FExcelDnaDoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Excel-DNA","download_url":"https://codeload.github.com/Excel-DNA/ExcelDnaDoc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240797570,"owners_count":19859210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T03:17:19.588Z","updated_at":"2025-02-26T05:27:42.871Z","avatar_url":"https://github.com/Excel-DNA.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿ExcelDnaDoc\n===================\nExcelDnaDoc is a command-line utility to create a compiled HTML Help Workshop file (.chm) for ExcelDna.\n\n* single help file created even if multiple library are specified in the \"dna\" file.  \n* can use customized templates and content  \n\nUse the issues log to report any issues or give feedback for future enhancements.\n\n![Help Example](https://raw.githubusercontent.com/mndrake/ExcelDnaDoc/master/docs/files/help.png)\n\nNuGet Package\n------------------\nhttps://www.nuget.org/packages/ExcelDnaDoc/\n\nTo build a compiled help file (.chm) the HTML Help Workshop (HHW) must be installed.\n\nHHW is no longer available from Microsoft (it used to be at http://msdn.microsoft.com/en-us/library/windows/desktop/ms669985(v=vs.85).aspx).\nYou can download the installer from the Internet Archive: https://web.archive.org/web/20200918004813/https://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe\nOr install using the Chocolatey installer (https://community.chocolatey.org/packages/html-help-workshop / https://chocolatey.org/install). \n\nExcelDnaDoc expects HHW to be installed at `C:\\Program Files (x86)\\HTML Help Workshop\\`. \nIf it is installed at another location change `packages/ExcelDnaDoc/tools/ExcelDnaDoc.exe.config` \nto reference the proper directory before compiling your project.  \n\nWhen installed from NuGet it will edit the default .dna file installed by Excel-DNA and adds post \nbuild steps to build the .chm documentation file whenever the project is build.\n\nNotes\n------------------\n\nUses the `ExcelFunction`, `ExcelArgument`, and `ExcelCommand` attributes in Excel-DNA to build \ndocumentation for your Excel-DNA add-in.  \n\nThe following fields are can be used to create documentation :  \n\n### _ExcelFunction Attribute_\n|\t\t\t\t\t|\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| ----------------- | ------------------------------------------------------------------------- |\n| `Name`\t\t\t| if not given the actual method name is used\t\t\t\t\t\t\t\t|\n| `Description`\t\t| if not used no description will be included in documentation\t\t\t\t|\n| `Category`\t\t| if not given functions will be grouped under \"*\u003cproject name\u003e* Functions\" | \n| `HelpTopic`\t\t| can be used to link function to generated help in Excel's function wizard | \n\n### _ExcelArgument Attribute_\n|\t\t\t\t\t|\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| ----------------- | ------------------------------------------------------------------------- |\n| `Name`\t\t\t| if not given the actual parameter name is used\t\t\t\t\t\t\t|\n| `Description`\t\t| if not used no description will be included in documentation\t\t\t\t|\n\n### _ExcelCommand Attribute_  \n|\t\t\t\t\t|\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| ----------------- | ------------------------------------------------------------------------- |\n| `Name`\t\t\t| if not given the actual parameter name is used\t\t\t\t\t\t\t|\n| `Description`\t\t| if not used no description will be included in documentation\t\t\t\t|\n| `HelpTopic`\t\t| can be used to link function to generated help in Excel's function wizard |\n| `ShortCut`\t\t| if not used no shortcut will be included in documentation\t\t\t\t\t|\n\nIf ExcelDna.Documentation is included as a reference (default in NuGet package) then an additional \nattribute `ExcelFunctionDoc` is available as a replacement to the `ExcelFunction` attribute \nwhich includes additional fields that can be used for additional documentation.\n\n### _ExcelFunctionDoc Attribute_\n|\t\t\t\t\t|\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t|\n| ----------------- | ------------------------------------------------------------------------- |\n| `Name`\t\t\t| if not given the actual method name is used\t\t\t\t\t\t\t\t|\n| `Description`\t\t| if not used no description will be included in documentation\t\t\t\t|\n| `Category`\t\t| if not given functions will be grouped under \"*\u003cproject name\u003e* Functions\" | \n| `HelpTopic`\t\t| can be used to link function to generated help in Excel's function wizard | \n| `Returns`\t\t\t| description of the return value\t\t\t\t\t\t\t\t\t\t\t|\n| `Summary`\t\t\t| longer discussion of function included in documentation\t\t\t\t\t|  \n| `Remarks`\t\t\t| remarks on usage and / or possible errors\t\t\t\t\t\t\t\t\t|\n| `Example`\t\t\t| sample code to demonstrate correct usage\t\t\t\t\t\t\t\t\t|\n\n\nExample\n------------------\n\n**F#**\n```fsharp\nnamespace DocTest\nopen ExcelDna.Integration\nopen ExcelDna.Documentation\n\nmodule Math =\n\n    [\u003cExcelFunctionDoc( Name = \"Math.AddThem\", Category = \"Math\", \n                        Description = \"adds two numbers\", \n                        HelpTopic = \"DocTest-AddIn.chm!1001\",\n\t\t\t\t\t\tSummary = \"really all it does is add two number ... I promise.\",\n\t\t\t\t\t\tExample = \"Math.AddThem(1, 2) returns 3\",\n\t\t\t\t\t\tReturns = \"the sum of the two arguments\")\u003e]\n    let addThem\n        (\n            [\u003cExcelArgument(Name = \"Arg1\", Description = \"the first argument\")\u003e]a,\n            [\u003cExcelArgument(Name = \"Arg2\", Description = \"the second argument\")\u003e]b\n        ) = \n        \n        a+b\n```\n\n**C#**\n```csharp\nnamespace DocTest\n{\n    using ExcelDna.Integration;\n    \n    public class Text \n    {\n        [ExcelFunction( Name = \"Text.ConcatThem\", \n                        Description = \"concatenates two strings\", \n                        HelpTopic = \"DocTest-AddIn.chm!1002\")]\n        public static object ConcatThem(\n            [ExcelArgument(Description=\"the first string\")] object a, \n            [ExcelArgument(Description=\"the second string\")] object b)\n        {\n            return string.Concat(a.ToString(), b.ToString());\n        }\n    }\n}\n```\n\nCommand Line Usage\n------------------\n    ExcelDnaDoc.exe dnaPath [/X]\n`dnaPath` The path to the primary .dna file for the ExcelDna add-in.  \n`/X` Optional. Excludes hidden functions from being documented if provided.\n\nExample: `ExcelDnaDoc.exe \u003cbuild folder\u003e\\SampleLib-AddIn.dna`  \n         The HTML Help Workshop content will be created in `\u003cbuild folder\u003e\\HelpContent\\`.  \n\nExternal libraries will be searched for UDFs and Commands\nthat are exposed to Excel and documented using the ExcelFunctionAttribute and the ExcelArgumentAttribute.  \n\nIf The ExcelDna.Documentation library has been referenced then the ExcelFunctionDocAttribute \nis also available to include additional documentation fields that will not be exposed in the Excel Function \nWizard, but will be included in the HTML Help Workshop content.  \n\nDependencies\n------------------\n NuGet Package Manager(http://nuget.codeplex.com/)  \n FAKE (F# MAKE) (http://fsharp.github.io/FAKE/)  \n Excel-DNA (http://exceldna.codeplex.com/)  \n RazorEngine(https://github.com/Antaris/RazorEngine)  \n HTML Help Workshop(http://msdn.microsoft.com/en-us/library/windows/desktop/ms669985(v=vs.85).aspx / https://web.archive.org/web/20200918004813/https://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexcel-dna%2Fexceldnadoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexcel-dna%2Fexceldnadoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexcel-dna%2Fexceldnadoc/lists"}