Ведение документации с использованием Excel ДНК - PullRequest
8 голосов
/ 17 ноября 2011

Я использовал Excel Dna для создания .NET xlls и использовал его в своих функциях надстройки и Excel.Я также использую ExcelDnaPack.exe для упаковки моего xll.

Мне было интересно, поддерживает ли Excel dna, какие-либо способы создания документации для API моей библиотеки.

Спасибо, Мани

1 Ответ

13 голосов
/ 18 ноября 2011

Во-первых, Excel-DNA позволяет интегрироваться в мастер функций Excel с описаниями функций и различными аргументами.Они добавляются в вашу функцию с помощью атрибутов:

[ExcelFunction(Category="My functions", Description="My useful function")] 
public static double MyFunc(
    [ExcelArgument(Description="is an important parameter.")] double param1,
    [ExcelArgument(Description="is unimportant.")] double param2)
{...}

Мастер функций также позволяет использовать ссылку справки для каждой функции.

Если у вас есть файл справки, скажем, в формате .chm, выможет сказать Excel-DNA подключить ссылку справки следующим образом:

[ExcelFunction(HelpTopic="MyHelp.chm!102")] 
public static double MyFunction() ...

Как получить файл справки?Компилятор C # или VB.NET может сгенерировать xml-файл из xml /// комментариев в вашем коде.Этот XML-файл обрабатывается чем-то вроде Sandcastle - вот целое обсуждение этой части: Создание документации из комментариев C # XML .

Но в Excel-DNA на данный момент нет ничего, чтобы автоматически связатьфункции и их темы.Я не уверен, насколько сложно выяснить сгенерированные TopicIds из вывода Sandcastle или установить их из кода в xml-комментарии.Если это проблема, автоматическое присоединение к темам или даже инструмент создания справки может быть хорошей возможностью для добавления в Excel-DNA в будущем.

Также обычно добавление ленты в ваш Excel-DNA- DNA-с кнопкой, которая отображает файл справки для всей надстройки.

Редактировать: В настоящее время существует проект, созданный пользователем, который обрабатывает Excel-DNA для более легкой генерации файлов справки.См https://github.com/mndrake/ExcelDnaDoc

...