Поддерживаемая платформа: Windows® только.
В этом примере показано, как создать Microsoft® Excel® надстройка, содержащая пользовательскую функцию для использования в Excel. Пользовательская функция называется mymagic
возвращает матрицу n на n, заполненную положительными целыми числами с равными суммами строк и столбцов.
Функция mymagic
записывается в MATLAB® и упакованная как надстройка Excel с помощью приложения Library Compiler в MATLAB Compiler™.
Надстройку можно установить на компьютере, работающем под управлением Excel, с помощью установщика, сгенерированного приложением Library Compiler.
Машина, на которой установлена надстройка, не требует установки MATLAB. Однако для этого требуется установка MATLAB Runtime. При установке надстройки на компьютер установщик, сгенерированный приложением Library Compiler, автоматически установит MATLAB Runtime.
Создайте функцию 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, чтобы открыть приложение Library Compiler.
В TYPE разделе панели инструментов выберите надстройку Excel в качестве целевого типа.
В 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
Щелкните Package, чтобы упаковать функцию MATLAB как надстройку.
В открывшемся Save Project окне задайте имя проекта и место, где необходимо сохранить проект. Library Compiler сохраняет ваш проект и открывает диалоговое окно Package.
Когда упаковочный процесс завершен, в расположении целевой папки генерируются три папки: for_redistribution
, for_redistribution_files_only
, и for_testing
.
The for_redistribution
папка содержит файл установщика MyAppInstaller_web.exe
устанавливает надстройку и MATLAB Runtime. The for_redistribution_files_only
папка содержит файлы, установленные на компьютере конечного пользователя. Это те же файлы, которые устанавливает инсталлятор. Он содержит следующие файлы:
_install.bat
GettingStarted.html
mymagic.bas
mymagic.xla
mymagic_1_0.dll
Для получения дополнительной информации о папках смотрите Файлы, сгенерированные После Упаковки Функций MATLAB.
compiler.build.excelAddIn
Примечание
Если вы уже создали надстройку Excel с помощью приложения Library Compiler, можно пропустить этот раздел. Однако, если вы хотите узнать, как создать надстройку из командного окна MATLAB с помощью программного подхода, следуйте этим инструкциям.
Создайте надстройку Excel с помощью compiler.build.excelAddIn
функции и mymagic.m
файл, который вы написали ранее. Используйте аргументы имя-значение для генерации файлов BAS и XLA.
buildResults = compiler.build.standaloneApplication('mymagic.m',... 'GenerateVisualBasicFile','on');
The 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'
- Флаг для отображения информации о прогрессе, указывающей на выход компилятора во время процесса сборки.
Примечание
Возможно, вам придется включить Trust access to the VBA project object model в Excel, чтобы надстройка работала.
Откройте Microsoft Excel.
Перейдите на вкладку File, щелкните Options и выберите категорию Add-Ins.
В Manage окне щелкните Excel Add-ins и выберите Go. Откроется диалоговое окно Add-Ins.
Нажмите Browse и найдите надстройку mymagic.xla
в for_redistribution_files_only
папка.
Отобразится запрос на копирование mymagic.xla
в папку Addins, связанную с вашим именем пользователя. Можно принять решение скопировать надстройку или запустить ее из for_redistribution_files_only
папка. В данном примере выберите, YES. Надстройка копируется и добавляется в книгу.
Нажмите OK, чтобы закрыть диалоговое окно Add-Ins
Выберите сетку 3х3 камер в книге Excel.
Введите следующую пользовательскую функцию в строке формул:
=mymagic(3)
my
в строке формул, вы видите mymagic
отображение в качестве пользовательской функции в Excel.Нажмите Ctrl + Shift + Enter на клавиатуре.
В камерах отображается следующий выход:
8 1 6 3 5 7 4 9 2