Поддерживаемая платформа: 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 под названием 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
.
for_redistribution
папка содержит файл инсталлятора MyAppInstaller_web.exe
это устанавливает дополнение и MATLAB Runtime. 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');
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'
— Отметьте, чтобы сгенерировать Визуальный файл 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