Создайте дополнение, содержащее 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 Add-In Using compiler.build.excelAddIn

Примечание

Если вы уже создали дополнение Excel с помощью приложения Library Compiler, можно пропустить этот раздел. Однако, если вы хотите знать, как создать дополнение из окна команды MATLAB с помощью программируемого подхода, следовать этим инструкциям.

  1. Создайте дополнение Excel с помощью compiler.build.excelAddIn функционируйте и mymagic.m файл, который вы записали ранее. Используйте аргументы значения имени, чтобы сгенерировать BAS и файлы XLA.

    buildResults = compiler.build.standaloneApplication('mymagic.m',...
        'GenerateVisualBasicFile','on');

    compiler.build.Results объект buildResults содержит информацию о типе сборки, сгенерированных файлах и опциях сборки.

  2. Функция генерирует следующие файлы в папке под названием mymagicexcelAddIn в вашей текущей рабочей директории:

    • dlldata.c

    • GettingStarted.html

    • mymagic.def

    • mymagic.bas

    • mymagic.rc

    • mymagic.xla

    • mymagic_1_0.dll

    • mymagic_dll.cpp

    • mymagic_idl.h

    • mymagic_idl.idl

    • mymagic_idl.tlb

    • mymagic_idl_i.c

    • mymagic_idl_p.c

    • mymagicClass_com.cpp

    • mymagicClass_com.hpp

    • mccExcludedFiles.log

    • mwcomtypes.h

    • mwcomtypes_i.c

    • mwcomtypes_p.c

    • readme.txt

    • requiredMCRProducts.txt

    • unresolvedSymbols.txt

  3. Дополнительные опции могут быть заданы при помощи одной или нескольких разделенных запятой пар аргументов значения имени в compiler.build команда.

    • 'AddInName' — Имя сгенерированного дополнения.

    • 'AddInVersion' — Версия уровня системы сгенерированного дополнения.

    • 'AdditionalFiles' — Пути к дополнительным файлам, чтобы включать в дополнение.

    • 'AutoDetectDataFiles' — Отметьте, чтобы автоматически включать файлы данных.

    • 'ClassName' — Имя класса.

    • 'DebugBuild' — Отметьте, чтобы включить отладочные символы.

    • 'EmbedArchive' — Отметьте, чтобы встроить автономный архив в сгенерированный исполняемый файл.

    • 'GenerateVisualBasicFile' — Отметьте, чтобы сгенерировать Визуальный файл Basic® (.bas) и дополнительный файл Excel (.xla).

    • 'OutputDirectory' — Путь к выходной директории, которая содержит сгенерированные файлы.

    • 'Verbose' — Отметьте, чтобы отобразить информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.

Протестируйте дополнение в 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 в панели формул вы видите mymagic разоблачение как пользовательская функция в Excel.

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

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

    8	1	6
    3	5	7
    4	9	2
    
Для просмотра документации необходимо авторизоваться на сайте