Создайте дополнение, содержащее Custom Function for Use Within Excel

Поддерживаемая платформа: Windows® только.

В этом примере показано, как создать дополнение Microsoft® Excel®, содержащее пользовательскую функцию для использования в Excel. Пользовательская функция под названием mymagic возвращает n на n матрицу, заполненную положительными целыми числами с равными суммами строки и столбца.

Функциональный mymagic написан в MATLAB® и упакован как дополнение Excel с помощью приложения Library Compiler в MATLAB Compiler™.

Дополнение может быть установлено на машине рабочий Excel с помощью инсталлятора, сгенерированного приложением Library Compiler. После того, как установленный, вы добавляете дополнение в свою рабочую книгу Excel.

Машина, где дополнение установлено, не требует установки MATLAB. Однако это действительно требует установки MATLAB Runtime. При установке дополнения на машине инсталлятор, сгенерированный приложением Library Compiler, автоматически установит MATLAB Runtime.

Создайте функцию MATLAB

Создайте функцию MATLAB под названием mymagic это возвращает n на n матрицу, заполненную положительными целыми числами с равными суммами строки и столбца. Сохраните функцию в файле с именем mymagic.m.

function y = mymagic(x)

y = magic(x)

Протестируйте функцию в командной строке MATLAB.

m = mymagic(5)
m =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

Создайте Excel Add-In Using Library Compiler App

  1. Ввод libraryCompiler в командной строке MATLAB, чтобы открыть приложение Library Compiler.

  2. В разделе TYPE панели инструментов выберите дополнение Excel как свой целевой тип.

  3. В разделе EXPORTED FUNCTIONS панели инструментов щелкните, чтобы добавить файл mymagic.m к проекту.

    • В разделе Library information приложения имя библиотеки автоматически обновляется к mymagic, имя класса обновляется к Class1, и имя метода к [y] = mymagic(x).

    • В разделе Files installed for your end user приложения автоматически отображены файлы, установленные, когда дополнение установлено на машине. Эти файлы включают:

      • _install.bat

      • mymagic.bas

      • mymagic.xla

      • mymagic_1_0.dll

  4. Нажмите Package, чтобы группировать функцию MATLAB как дополнение.

    • В диалоговом окне Save Project, которое открывается, задайте название проекта и местоположение, где вы хотите сохранить проект. Library Compiler сохраняет ваш проект и открывает диалоговое окно Package.

    • Когда упаковочный процесс завершен, три папки сгенерированы в целевом месте папки: for_redistribution, for_redistribution_files_only, и for_testing.

    • for_redistribution папка содержит файл инсталлятора MyAppInstaller_web.exe это устанавливает дополнение и MATLAB Runtime. for_redistribution_files_only папка содержит файлы, которые установлены на машине конечного пользователя. Это те же файлы, которые установлены инсталлятором. Это содержит следующие файлы:

      • _install.bat

      • GettingStarted.html

      • mymagic.bas

      • mymagic.xla

      • mymagic_1_0.dll

    Для получения дополнительной информации о папках, смотрите (Файлы, Сгенерированные После Упаковки функций MATLAB).

Протестируйте дополнение в Excel

Примечание

Вам, вероятно, придется позволить Trust access to the VBA project object model в Excel для дополнения работать.

Добавьте дополнение в Excel

  1. Открытый Microsoft Excel.

  2. Кликните по вкладке File, нажмите Options, и затем кликните по категории Add-Ins.

  3. В поле Manage нажмите Excel Add-ins, и затем нажмите Go. Диалоговое окно Add-Ins появляется.

  4. Нажмите Browse и найдите дополнение mymagic.xla в for_redistribution_files_only папка.

  5. Вам предлагают скопировать mymagic.xla к папке Addins, сопоставленной с вашим именем пользователя. Можно принять решение скопировать дополнение или запустить его от for_redistribution_files_only папка. В данном примере выбор, YES. Дополнение копируется и добавляется к вашей рабочей книге.

  6. Нажмите OK, чтобы закрыть диалоговое окно Add-Ins

Протестируйте дополнение

  1. Выберите сетку 3х3 ячеек в рабочей книге Excel.

  2. Введите следующую пользовательскую функцию в панель формул:

    =mymagic(3)
    При печати my в forumla панели вы видите mymagic разоблачение как пользовательская функция в Excel.

  3. Нажмите Ctrl +Shift+Enter на клавиатуре.

    Вы видите следующий вывод, отображенный в ячейках:

    8	1	6
    3	5	7
    4	9	2