Базовый рабочий процесс создания надстроек и макросов Microsoft ® Excel можно найти в разделах Создание надстроек Excel из MATLAB и Интеграция надстроек и COM-компонентов с Microsoft Excel.
В этом примере показано, как работать с функциями переменной длины и создавать макросы из них.
myplot принимает один целочисленный ввод и строит график строки от 1 до этого числа.
mysum принимает вход varargin типа integer, добавляет все числа и возвращает результат.
myprimes принимает один целочисленный ввод n и возвращает все простые числа, меньшие или равные n.
Файл Microsoft Excel, xlmulti.xls, демонстрирует эти функции несколькими способами.
Дополнительные сведения о доступе к коду примера из продукта см. в разделе Копирование файла примера.
При работе с этим примером с помощью инструкций в разделе Создание надстройки Excel из MATLAB используйте следующую информацию:
| Название проекта | xlmulti |
| Имя класса | xlmulticlass |
| Файл для компиляции (в xlmulti папки myfiles\work) | myplot.m
myprimes.m
mysum.m |
Запустите Microsoft Excel в системе.
Открыть файл myfiles\work\xlmulti\xlmulti.xls.
Пример выглядит следующим образом:

Примечание
Если в запросе Excel указано, что этот файл содержит макросы, нажмите кнопку «Включить макросы», чтобы запустить этот пример.
Эта иллюстрация вызывает функцию myplot со значением 4. Для выполнения функции выполните A7 (=myplot(4)) активной соты. Нажмите F2, а затем Enter.

Эта процедура отображает линию от 1 до 4 в окне MATLAB ® Figure. Этим изображением можно манипулировать аналогично тому, как можно манипулировать фигурой в MATLAB. Некоторые функции, такие как возможность изменения стиля или цвета линий, недоступны .
Вызывающая ячейка содержит 0, поскольку функция не возвращает значение.
Эта иллюстрация вызывает функцию mysum четырьмя различными способами:
Первая (ячейка A14) принимает значения от 1 до 10, добавляет их и возвращает результат 55 (=mysum(1,2,3,4,5,6,7,8,9,10)).
Вторая (ячейка A19) принимает объект диапазона, который является диапазоном ячеек со значениями от 1 до 10, добавляет их и возвращает результат 55 (=mysum(B19:K19)).
Третий (ячейка A24) принимает несколько объектов диапазона, добавляет их и возвращает результат 120 (=mysum(B24:K24,B25:L25,B26:D26)). На этом рисунке показано, что диапазоны не должны иметь одинаковый размер и что всем ячейкам не требуется значение.
Четвертая (ячейка A30) принимает комбинацию объекта диапазона и явно заявленных значений, добавляет их и возвращает результат 16 (=mysum(10,B30:D30)).

Эта иллюстрация выполняется при открытии файла Excel. Для повторной активации иллюстрации активируйте соответствующую ячейку. Затем нажмите F2 и нажмите Enter.
На этом рисунке макрос myprimes вызывает функцию myprimes.m
с начальным значением 10 в ячейке A42. Функция возвращает все простые числа меньше 10 ячейкам B42- E42.

Для выполнения макроса в главном окне Excel (а не в редакторе Visual Basic ®) откройте диалоговое окно «Макрос», одновременно нажав клавиши Alt и F8 или выбрав меню «Сервис» > «Макрос» > «Макросы».
Выбрать myprimes в списке и нажмите кнопку Выполнить.

Эта функция автоматически изменяет размер, если возвращаемый выходной сигнал превышает указанный диапазон. Измените значение в A42 ячейки на число больше 10. Затем повторно запустите макрос. Выходные данные возвращают все простые числа, меньшие, чем число, введенное в A42 ячеек.

В главном окне Microsoft Excel выберите Инструменты > Макрос > Редактор Visual Basic.
В Microsoft Visual Basic в окне Проект - VBAProject дважды щелкните, чтобы развернуть VBAProject (xlmulti.xls)
Разверните окно Modules и дважды щелкните значок Module1 модуль. Откроется окно VB Code с кодом для этого проекта.
Дополнительные сведения о работе с аргументами переменной длины см. в разделе Программа с переменными аргументами.