Выполните функции и создайте макросы

Предупреждение

Опция, чтобы создать и группировать MATLAB® код из Функционального Мастера для Excel® дополнения будут удалены в будущем релизе. Чтобы создать дополнение Excel, используйте приложение Library Compiler.

Не рекомендуемый запуск в R2020a

Если ваша функция MATLAB готова быть развернутой, и вы уже создали свое дополнение и COM-компонент, следуйте за этим рабочим процессом, чтобы включить ваш встроенный COM-компонент в Microsoft Excel с помощью Функционального Мастера. Чтобы следовать за рабочим процессом в этом разделе эффективно, необходимо запустить Create Дополнение Excel из MATLAB.

Функциональный Мастер также позволяет вам итеративно тестировать, разрабатывать, и отлаживать свою функцию MATLAB. Используя этот сквозной рабочий процесс принимает, что вы находитесь все еще в процессе разработки вашей функции MATLAB для развертывания. Смотрите Сквозное Развертывание функции MATLAB для полных инструкций для этого рабочего процесса.

Смотрите Выбирают Function Deployment Workflow для получения дальнейшей информации.

Ключевые задачи для конечного пользователя

ЗадачаСсылка
1. Установите функциональный мастер.Установка функционального мастера
2. Запустите функциональный мастер.Функциональный запуск мастера
3. Выберите опцию, чтобы включить ваш встроенный COM-компонент в Microsoft Excel.Выбор рабочего процесса для функций MATLAB, готовых к развертыванию
4. Задайте новую функцию MATLAB, которую вы хотите моделировать путем добавления его в Функциональный Мастер и устанавливающий области значений ввода и вывода.Определение функций, готовых выполниться
5. Протестируйте свою функцию MATLAB путем выполнения его с Функциональным Мастером.Функциональное выполнение
6. Создайте макрос.Макро-создание
7. Выполните макрос, вы создали использование Функционального Мастера.Макро-выполнение
8. Опционально смотрите или измените Microsoft® Visual Basic® код вы сгенерировали с COM-компонентом. Опционально, присоедините макрос, который вы создали к кнопке GUI.Код Microsoft Visual Basic доступ (дополнительная усовершенствованная задача)

Что функциональный мастер может сделать для меня?

Функциональный Мастер позволяет вам передать Microsoft Excel (Excel 2000 или позже) значения рабочего листа к скомпилированной модели MATLAB и затем возвратить выходной параметр модели к ячейке или области значений ячеек в рабочем листе.

Функциональный Мастер обеспечивает интуитивный интерфейс к рабочим листам Excel. Вам не нужны предыдущие знания Microsoft Visual Basic для Приложений (VBA) программирование.

Функциональный Мастер отражает любые изменения, которые вы вносите в рабочих листах, таких как выборы области значений. Вы также используете Функциональный Мастер, чтобы управлять размещением и выходом данных от функций MATLAB до рабочих листов.

Примечание

Функциональный Мастер в настоящее время не поддерживает sparse MATLAB, и complex типы данных.

Установка функционального мастера

Прежде чем можно будет использовать Функциональный Мастер, необходимо сначала установить его как дополнение, которое доступно от Microsoft Excel.

После того, как вы установите Функциональный Мастер, запись, MATLAB Functions появляется как доступная дополнительная кнопка Microsoft Excel.

Используя Microsoft Excel 2010 или более новый

  1. Кликните по вкладке File.

  2. На левой панели навигации выберите Options.

  3. В Окне параметров Excel, на левой панели навигации, выбирают Add-Ins.

  4. В Том, чтобы управлять выпадающим, выберите Excel Add-Ins и нажмите Go.

  5. В диалоговом окне Add-Ins нажмите Browse.

  6. Просмотрите к matlabroot/toolbox/matlabxl/matlabxl/arch, и выберите FunctionWizard2007.xlam. Нажмите OK.

  7. В диалоговом окне Excel Add-Ins проверьте, что запись MATLAB Compiler Function Wizard выбрана. Нажмите OK.

  8. Гарантируйте, что вкладка Home Ленты Microsoft Excel содержит Функциональную мозаику Мастера.

Используя Excel 2007

  1. Запустите Microsoft Excel.

  2. Нажмите Office Button () и выберите Excel Options.

  3. На левой панели Окна параметров Excel нажмите Add-Ins.

  4. На правой панели Окна параметров Excel выберите Excel Add-ins из Manage выпадающее поле.

  5. Нажмите Go.

  6. Нажмите Browse. Перейдите к matlabroot\toolbox\matlabxl\matlabxl\arch и выберите FunctionWizard2007.xlam. Нажмите OK.

  7. В диалоговом окне Excel Add-Ins проверьте, что запись MATLAB Compiler Function Wizard выбрана. Нажмите OK.

Используя Excel 2003

  1. Выберите Tools> Add-Ins из главного меню Excel.

  2. Если Функциональный Мастер был ранее установлен, Мастер Функции MATLAB Compiler появляется в списке. Выберите элемент и нажмите ОК.

    Если Функциональный Мастер не был ранее установлен, нажмите Browse и перейдите к matlabroot\toolbox\matlabxl\matlabxl папка. Выберите FunctionWizard.xla. Нажать ОК.

Функциональный запуск мастера

Запустите Функциональный Мастер одним из следующих способов. Когда мастер инициализировал, отображения диалогового окна Function Wizard Start Page.

Используя Microsoft Excel 2007 или более новые версии Excel

В Microsoft Excel, на ленте Microsoft Office, на вкладке Home, выбирают Function Wizard.

Вы можете также Мастер функции доступа от вкладки File.

  1. Выберите File> Options> Add-Ins из главного меню Excel.

  2. Выберите Function Wizard.

Выбор рабочего процесса для функций MATLAB, готовых к развертыванию

После того, как вы установите и запустите Функциональный Мастер, сделайте следующее:

  1. От Функциональной начальной страницы Мастера выберите опцию I have an Add-in component that was built in MATLAB with the Deployment Tool that I want to integrate into a workbook.

  2. Нажмите OK. Функциональная Панель управления Мастера открывается включенной кнопкой Add Function.

    Функциональная панель управления мастера для Работы с функциями MATLAB, готовыми к развертыванию

Совет

Чтобы возвратиться к Функциональной начальной странице Мастера, нажмите Start Over.

Определение функций, готовых выполниться

  1. Задайте функцию, которую вы хотите выполнить к Функциональному Мастеру. Нажмите Add Function в области Set Up Functions Функциональной Панели управления Мастера. Диалоговое окно MATLAB Components открывается.

  2. В области Available Components диалогового окна MATLAB Components выберите имя своего компонента (xlmagic) от выпадающего поля.

  3. Выберите функцию, которую вы хотите выполнить (mymagic) от поля пометил Functions for Class xlmagic.

  4. Нажмите Add Function. Диалоговое окно Function Properties открывается.

    Совет

    Область Function Syntax and Help, в диалоговом окне Function Properties, отображает первую текстовую строку справки (иногда названный H1 line) в функции MATLAB. Отображение этих комментариев в диалоговом окне Function Properties может быть полезным при развертывании новых или незнакомых функций MATLAB в конечных пользователей.

  5. Задайте свойства входного параметра можно следующим образом.

    1. На вкладке Input нажмите Set Input Data. Входные данные для n диалоговое окно открывается.

    2. Задайте Range или Value путем выбирания подходящей опции и ввода значения. Если аргумент относится к structure array (struct), выберите опцию This is a MATLAB structure array argument. Смотрите Работу с Массивами структур для получения информации о присвоении областей значений и значений к полям в массиве структур.

      Внимание

      Постарайтесь не выбирать области значений с помощью клавиш со стрелками. Если необходимо использовать клавиши со стрелками, чтобы выбрать области значений, применить необходимую фиксацию от сайта Microsoft: https://mskb.pkisolutions.com/kb/291110.

      Примечание

      Выберите опцию Auto Recalculate on Change, чтобы обеспечить Microsoft Excel, чтобы автоматически повторно вычислить данные об электронной таблице каждый раз, когда это изменяется.

    3. Нажмите OK.

    Совет

    Чтобы задать как MATLAB Compiler™ для дополнительных ячеек пробела указателей Excel (или ячеек, содержащих данные), смотрите Управление Значением Пустой ячейки.

  6. Задайте свойства выходного аргумента можно следующим образом.

    1. На вкладке Output нажмите Set Output Data. Выходные данные для y диалоговое окно появляется, где y имя выходной переменной, из которой вы задаете свойства.

      Совет

      Можно также задать MATLAB Compiler к Auto Resize, Transpose или вывести данные в формате даты (Output as date). Для этого выберите подходящую опцию в Argument Properties для y диалоговое окно.

    2. Задайте Range. Альтернативно, выберите область значений ячеек на вашем листе Excel; область значений будет вводиться для вас в поле Range.

      Внимание

      Постарайтесь не выбирать области значений с помощью клавиш со стрелками. Если необходимо использовать клавиши со стрелками, чтобы выбрать области значений, применить необходимую фиксацию от сайта Microsoft: https://mskb.pkisolutions.com/kb/291110.

    3. Выберите Auto Resize, если он уже не выбран.

    4. Нажмите Done в выходных данных для y диалоговое окно.

    5. Нажмите Done в диалоговом окне Function Properties.

mymagic теперь появляется в списке Active Functions Функциональной Панели управления Мастера.

Управление значением пустой ячейки

Можно задать как пустые ячейки процессов MATLAB Compiler, позволив вам присвоить неопределенный или непредставленный (NaN, например) значения данных им.

Чтобы задать, как обработать пустые ячейки, сделайте следующее.

  1. Нажмите Options во входных данных для N диалоговое окно.

    Входное Окно параметров Преобразования открывается.

  2. Нажмите Treat Missing Data As выпадающее поле.

  3. Задайте или Zero или NaN (Not a Number), в зависимости от того, как вы хотите обработать пустые ячейки.

Работа с массивами структур

Чтобы присвоить области значений полям в массиве структур, сделайте следующее:

  1. Если вы уже не сделали так, выберите This is a MATLAB structure array argument во Входных данных для n диалоговое окно и нажимает OK.

    Входные данные для аргумента массива структур n диалоговое окно открывается.

  2. Функциональный Мастер поддерживает Векторные и Двумерные массивы структур, организованные или в Поэлементно или в Плоская организация для обоих вводов и выводов.

    Во входных данных для аргумента массива структур n диалоговое окно, сделайте следующее:

    1. В области Structure Array Organization выберите Element by Element Organization или Plane Organization.

    2. Нажмите Add Field, чтобы добавить поля для каждого из ваших аргументов массива структур. Диалоговое окно Field for Structure Array Argument открывается.

  3. В диалоговом окне Field for Argument сделайте следующее:

    1. В поле Name задайте имя поля. Name, который вы задаете, должен совпадать с именем поля массива структур в вашей функции MATLAB.

    2. Задайте Range для поля.

      Внимание

      Постарайтесь не выбирать области значений с помощью клавиш со стрелками. Если необходимо использовать клавиши со стрелками, чтобы выбрать области значений, применить необходимую фиксацию от сайта Microsoft: https://mskb.pkisolutions.com/kb/291110.

    3. Нажмите Done.

Как поддерживаются Массивы структур.  MATLAB Compiler поддерживает один и двумерные массивы структур MATLAB.

Продукт преобразует данные, переданные в массивы структур в element-by-element organization или plane organization. См. Основы программирования MATLAB для получения дополнительной информации обо всех типах данных MATLAB, включая структуры.

Развертывание Массивов структур как Вводы и выводы.  Если вы - программист MATLAB и хотите развернуть функцию MATLAB с массивами структур в качестве аргументов ввода или вывода, создать макросы Microsoft Excel с помощью Функционального Мастера и передать их (с дополнением Excel и COM-компонентом) конечным пользователям. Если вы не можете сделать этого, сообщите своим конечным пользователям:

  • Какие аргументы являются массивами структур

  • Имена полей массивов структур

Используя Макросы с Массивами структур.  Макро-функция генерации MATLAB Compiler для дополнений Excel работает с массивами структур в качестве аргументов ввода или вывода. Смотрите Макро-Создание, если у вас есть функция MATLAB, вы готовы развернуться. Смотрите Дополнение Microsoft Excel и Макро-Создание Используя Функциональный Мастер, если вы используете Функциональный Мастер, чтобы создать вашу функцию MATLAB с нуля. Смотрите Выбирают Function Deployment Workflow для получения дополнительной информации об обоих рабочих процессах.

Функциональное выполнение

В области Execute Functions Функциональной Панели управления Мастера нажмите Execute, чтобы запустить mymagic. Ячейки A1:E5 на Excel лист автоматически заполняются с выходом mymagic (магический квадрат размерности 5).

Макро-создание

При продолжении примера создайте макрос Microsoft Excel использование Функциональной Панели управления Мастера:

  1. В области Create Macros панели управления введите mymagic в поле Macro Name.

  2. Выберите местоположение того, где хранить макрос в Store Macro выпадающее поле.

  3. Введите краткое описание функциональности макроса в поле Description.

  4. Нажмите Create Macro.

    Макрос создается в текущей рабочей книге Excel.

Макро-выполнение

Запустите макрос, который вы создали в Макро-Создании путем выполнения одного из следующих, после сначала очищающиеся ячейки A1:E5 (которые содержат выход функции Магического квадрата, которую вы запустили в Функциональном Выполнении).

Совет

Вы, возможно, должны включить соответствующие настройки безопасности перед рабочими макросами в Microsoft Excel. Для получения информации о макро-полномочиях и связанных сообщениях об ошибке, см. приложение Ошибок и Решений.

Используя Excel 2007 или более новые версии Excel

  1. В Microsoft Excel нажмите View > Macros > View Macros.

  2. Выберите mymagic от Macro name выпадающее поле.

  3. Нажмите Run. Ячейки A1:E5 на Excel лист автоматически заполняются с выходом mymagic.

Используя Excel 2003

  1. В Microsoft Excel нажмите Tools > Macro > Macros.

  2. Выберите mymagic от Macro name выпадающее поле.

  3. Нажмите Run. Ячейки A1:E5 на Excel лист автоматически заполняются с выходом mymagic.

Код Microsoft Visual Basic доступ (дополнительная усовершенствованная задача)

Чтобы получить доступ или изменить код Visual Basic, выполните эти шаги.

  1. От вкладки Excel Developer нажмите Visual Basic или нажмите ALT +F11, чтобы открыть Visual Basic Editor. В более старых версиях Excel это может быть расположено под Tools> Macro> Visual Basic Editor.

  2. В окне Project - VBAProject дважды кликните, чтобы расширить VBAProject (mymagic.xls).

  3. Расширьте Modules папка и дважды кликает Matlab Macros модуль.

    Это открывает окно Visual Basic Code с кодом для этого проекта.

Сопоставьте макрос с кнопкой графический интерфейса пользователя или управляйте (Необязательно)

Затем присоедините макрос к кнопке GUI.

  1. Нажмите Developer > Insert.

  2. В меню Form Controls выберите значок Button (Form Control).

    Совет

    Наведите своя мышь на меню Form Controls, чтобы видеть различные метки управления.

  3. В диалоговом окне Assign Macros выберите макрос, которому вы хотите присвоить кнопку GUI и нажать OK.

Присоединение макроса к кнопке

Для получения дополнительной информации

Если вы хотите...Смотрите...
  • Выполните основные задачи Программиста MATLAB

  • Изучите, как продукты развертывания обрабатывают ваши функции MATLAB

  • Изучите, как продукты развертывания работают совместно

  • Исследуйте инструкции о записи развертываемого кода MATLAB

Запишите развертываемый код MATLAB
Смотрите больше примеров о создании дополнений и COM-компонентовСоздайте макросы из функций MATLAB с несколькими аргументами
Узнать, как настроить и интегрировать COM-компонент вы созданный путем изменения кода Microsoft Visual BasicИнтегрируйте компоненты Используя приложение Visual Basic