Поддерживаемая платформа: только Windows ®.
В этом примере показано, как создать надстройку Microsoft ® Excel ®, содержащую пользовательскую функцию для использования в Excel. Пользовательская функция с именемmymagic возвращает матрицу n-на-n, заполненную положительными целыми числами с равными суммами строк и столбцов.
Функция mymagic написан в MATLAB ® и упакован в виде надстройки Excel с помощью приложения компилятора библиотеки в MATLAB Compiler™.
Надстройку можно установить на компьютере с Excel с помощью программы установки, созданной компилятором библиотеки. После установки надстройка добавляется в книгу Excel.
Компьютер, на котором установлена надстройка, не требует установки MATLAB. Однако для этого требуется установка среды выполнения MATLAB. При установке надстройки на компьютер программа установки, созданная приложением компилятора библиотеки, автоматически установит среду выполнения 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Напечатать libraryCompiler в командной строке MATLAB, чтобы открыть приложение компилятора библиотеки.
В разделе ТИП панели инструментов выберите надстройку Excel в качестве целевого типа.
В разделе ЭКСПОРТИРУЕМЫЕ ФУНКЦИИ на панели инструментов щелкните
, чтобы добавить файл. mymagic.m в проект.
В разделе Информация о библиотеке приложения имя библиотеки автоматически обновляется до mymagic, имя класса обновляется до Class1и имя метода для [y] = mymagic(x).
В разделе Файлы, установленные для конечного пользователя приложения, автоматически отображаются файлы, установленные при установке надстройки на компьютере. Эти файлы включают в себя:
_install.bat
mymagic.bas
mymagic.xla
mymagic_1_0.dll
Щелкните Пакет (Package), чтобы упаковать функцию MATLAB в качестве надстройки.
В открывшемся диалоговом окне «Сохранить проект» укажите имя проекта и расположение, в котором требуется сохранить проект. Компилятор библиотеки сохраняет проект и открывает диалоговое окно Пакет.
После завершения процесса упаковки в целевой папке создаются три папки: for_redistribution, for_redistribution_files_only, и for_testing.
for_redistribution содержит файл установщика MyAppInstaller_web.exe устанавливает надстройку и среду выполнения MATLAB. for_redistribution_files_only содержит файлы, установленные на компьютере конечного пользователя. Это те же файлы, которые установлены установщиком. Он содержит следующие файлы:
_install.bat
GettingStarted.html
mymagic.bas
mymagic.xla
mymagic_1_0.dll
Дополнительные сведения о папках см. в разделе Файлы, созданные после упаковки функций MATLAB.
compiler.build.excelAddInПримечание
Если надстройка Excel уже создана с помощью приложения компилятора библиотеки, можно пропустить этот раздел. Однако для получения сведений о создании надстройки из окна команд MATLAB с использованием программного подхода выполните следующие инструкции.
Создайте надстройку Excel с помощью compiler.build.excelAddIn функции и mymagic.m файл, который вы написали ранее. Используйте аргументы «имя-значение» для создания файлов BAS и XLA.
buildResults = compiler.build.standaloneApplication('mymagic.m',... 'GenerateVisualBasicFile','on');
compiler.build.Results объект buildResults содержит информацию о типе сборки, созданных файлах и параметрах сборки.
Функция создает следующие файлы в папке с именем 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
Дополнительные параметры можно задать с помощью одной или нескольких пар аргументов «имя-значение», разделенных запятыми, в compiler.build команда.
'AddInName' - имя созданной надстройки.
'AddInVersion' - Версия создаваемой надстройки на уровне системы.
'AdditionalFiles' - пути к дополнительным файлам для включения в надстройку.
'AutoDetectDataFiles' - Флажок для автоматического включения файлов данных.
'ClassName' - название класса.
'DebugBuild' - Флаг для включения символов отладки.
'EmbedArchive' - флажок для встраивания автономного архива в созданный исполняемый файл.
'GenerateVisualBasicFile' - Флажок для создания файла Visual Basic ® (.basи файл надстройки Excel (.xla).
'OutputDirectory' - путь к выходному каталогу, содержащему созданные файлы.
'Verbose' - Флаг для отображения информации о ходе выполнения, указывающей на вывод компилятора в процессе построения.
Примечание
Для работы надстройки может потребоваться включить доверительный доступ к объектной модели проекта VBA в Excel.
Откройте Microsoft Excel.
Перейдите на вкладку Файл, щелкните Параметры, а затем выберите категорию Надстройки.
В поле Управление выберите Надстройки Excel и нажмите кнопку Перейти. Откроется диалоговое окно Надстройки (Add-In).
Нажмите кнопку Обзор и найдите надстройку mymagic.xla в for_redistribution_files_only папка.
Появится запрос на копирование mymagic.xla в папку Addins, связанную с именем пользователя. Вы можете скопировать надстройку или запустить ее из for_redistribution_files_only папка. В этом примере выберите ДА. Надстройка копируется и добавляется в книгу.
Нажмите кнопку «ОК», чтобы закрыть диалоговое окно «Надстройки»
Выберите сетку из ячеек 3 на 3 в книге Excel.
В строке формул введите следующую пользовательскую функцию:
=mymagic(3)
my в строке формул, вы видите mymagic отображается как пользовательская функция в Excel.Нажмите клавиши Ctrl + Shift + Enter на клавиатуре.
В ячейках отображаются следующие выходные данные:
8 1 6 3 5 7 4 9 2