Основной рабочий процесс для дополнения Microsoft® Excel® и макро-создания может быть найден в Create Дополнением Excel из MATLAB и Интегрировать Дополнение и COM-компонент с Microsoft Excel.
Этот пример показывает вам, как работать с и создать макросы из, функции, имеющие вводы и выводы переменной длины
myplot
берет один целочисленный вход и строит график от 1 до того номера.
mysum
берет вход varargin
типа integer
, добавляет все числа и возвращает результат.
myprimes
берет один целочисленный вход n
и возвращает все простые числа, меньше чем или равные n
.
Файл Microsoft Excel, xlmulti.xls
, демонстрирует эти функции несколькими способами.
Для получения дополнительной информации о доступе к примеру кода из продукта, смотрите, что Файл В качестве примера Копирует.
Используйте следующую информацию, когда вы работаете через этот пример с помощью инструкций в Create Дополнение Excel из MATLAB:
Название проекта | xlmulti |
ClassName | xlmulticlass |
Файл, чтобы скомпилировать (в папке xlmulti myfiles\work ) | myplot.m
myprimes.m
mysum.m |
Запустите Microsoft Excel в своей системе.
Откройте файл myfiles\work\xlmulti\xlmulti.xls
.
Пример появляется как показано:
Если подсказка Excel говорит, что этот файл содержит макросы, нажмите Enable Macros, чтобы запустить этот пример.
Этот рисунок вызывает функциональный myplot
со значением 4. Чтобы выполнить функцию, сделайте A7 (=myplot(4)
) активная ячейка. Нажмите F2 и затем Войдите.
Эта процедура строит график от 1 до 4 в Окне рисунка MATLAB®. Этой диаграммой можно управлять так же к способу, которым можно было бы управлять фигурой в 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, сопровождаемый, Входят.
На этом рисунке макро-myprimes
вызывает функциональный myprimes.m
с начальным значением 10 в ячейке A42. Функция возвращает все простые числа меньше чем 10 в ячейки B42 через E42.
Чтобы выполнить макрос, из основного окна Excel (не Визуальный Редактор Basic®), открывают диалоговое окно Macro, путем нажатия клавиш Alt и F8 одновременно, или путем выбора Tools> Macro> Macros.
Выберите myprimes
из списка и нажмите Run.
Эта функция автоматически изменяет размер, если возвращенный выходной параметр больше, чем выходная заданная область значений. Измените значение в ячейке A42 к номеру, больше, чем 10. Затем повторно выполните макрос. Вывод возвращает все простые числа меньше, чем номер, который вы ввели в ячейке A42.
На главном окне Microsoft Excel выберите Tools> Macro> Visual Basic Editor.
На Microsoft Visual Basic, в окне Project - VBAProject, дважды кликают, чтобы расширить VBAProject (xlmulti.xls)
Расширьте папку Modules
и дважды кликните модуль Module1
. Это открывает окно VB Code с кодом для этого проекта.
Для получения дополнительной информации о работе с аргументами переменной длины, см. Программу с Аргументами переменной.