Интегрируйте дополнение и COM-компонент с Microsoft Excel

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

ЗадачаСсылка
Проверьте, что вы получили все необходимые файлы от программиста MATLAB®.Файлы, необходимые для развертывания
Проверьте полномочия реестра для дополнительного файла и сопоставленного компонента.Дополнение и регистрация COM-компонента
Выполните свои сгенерированные функции и создайте макросы.Выполните функции и создайте макросы
Установите MATLAB Runtime в целевых системах и обновите системные пути.MATLAB Runtime
Используйте дополнение Excel.Дополнительная установка и распределение

Файлы, необходимые для развертывания

Перед началом проверьте, что у вас есть доступ к следующим файлам:

  • Инсталлятор MCR. Для местоположений всех инсталляторов MATLAB Runtime запустите mcrinstaller команду.

  • Файл .xla (дополнение)

  • Файл .bas (сгенерированный код VBA)

  • Файл .dll

  • readme.txt

Дополнение и регистрация COM-компонента

Примечание

COM-компоненты используются и в MATLAB Compiler™ и в MATLAB Compiler SDK™, поэтому некоторые инструкции, относящиеся к созданию и упаковке COM-компонентов и дополнений, могут быть совместно использованы продуктами.

Когда вы создаете свой COM-компонент, он указан или в HKEY_LOCAL_MACHINE или в HKEY_CURRENT_USER, на основе ваших полномочий входа в систему.

Если вы находите, что необходимо изменить полномочия во время выполнения из-за стандартов обеспечения защиты, наложенных Microsoft® или установкой, можно сделать одно из следующих прежде, чем развернуть COM-компонент или дополнение:

  • Войдите в систему как administrator прежде, чем запустить ваш COM-компонент или дополнение

  • Запустите следующую команду mwregsvr до выполнения вашего COM-компонента или дополнения, можно следующим образом:

    mwregsvr [/u] [/s] [/useronly] project_name.dll 
    где:

    • /u позволяет любому пользователю не указывать COM-компонент или дополнение для этого сервера

    • /s запускает эту команду тихо, не генерируя сообщений. Это полезно для использования в установках без диалогов.

    • /useronly позволяет только, в настоящее время вошел в систему пользователь, чтобы запустить COM-компонент или дополнение на этом сервере

Внимание

Если ваш COM-компонент будет указан в улье USER, это не будет видимо к Windows Vista™ или пользователям Windows® 7, запускающимся, когда administrator в системах с контролем учётных записей (User Access Control) включил.

Если вы указываете компонент к улью USER под Windows 7 или Windows Vista, ваш COM-компонент может не загрузить при выполнении с поднятым (administrator) привилегий.

Если это происходит, сделайте следующее, чтобы потворить регистрацию компонента к улью LOCAL MACHINE:

  1. Не укажите компонент с этой командой:

    mwregsvr /u /useronly my_dll.dll
    

  2. Повторно укажите компонент к улью LOCAL MACHINE с этой командой:

    mwregsvr my_dll.dll

Присоединение COM-компонента к Microsoft Excel с помощью Функционального Мастера

Теперь, когда ваше дополнение и COM-компонент были созданы, используйте Функциональный Мастер, чтобы интегрировать COM-компонент в Microsoft Excel®.

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

MATLAB Runtime

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

MATLAB Runtime доступен для загрузки с сети, чтобы упростить распределение ваших приложений, созданных с помощью MATLAB Compiler или MATLAB Compiler SDK. Загрузите MATLAB Runtime со страницы продукта MATLAB Runtime.

Инсталлятор MATLAB Runtime делает следующее:

  1. Установите MATLAB Runtime.

  2. Установите блок компонента в папке, от которой запущен установщик.

  3. Скопируйте блок MWArray в Глобальный кэш сборок (GAC) как часть установки MATLAB Runtime.

Предпосылки MATLAB Runtime

  1. Инсталлятор MATLAB Runtime требует, чтобы права администратора запустились.

  2. Версия MATLAB Runtime, который запускает ваше приложение на целевом компьютере, должна быть совместима с версией MATLAB Compiler или MATLAB Compiler SDK, который создал развернутый код.

  3. Не устанавливайте MATLAB Runtime в директориях установки MATLAB.

  4. Инсталлятор MATLAB Runtime требует приблизительно 2 Гбайт дискового пространства.

Добавьте инсталлятор MATLAB Runtime в инсталлятор

Этот пример показывает, как включать MATLAB Runtime в сгенерированный инсталлятор, с помощью одного из приложений компилятора. Сгенерированный инсталлятор содержит все файлы, должен был запустить автономное приложение или совместно использовал библиотеку, созданную с MATLAB Compiler или MATLAB Compiler SDK, и правильно размечает их в целевой системе.

  1. На разделе Packaging Options интерфейса компилятора выберите один или обе из следующих опций:

    • Runtime downloaded from web — Эта опция создает инсталлятор, который вызывает инсталлятор MATLAB Runtime от веб-сайта MathWorks.

    • Runtime included in package — Опция включает инсталлятор MATLAB Runtime в сгенерированный инсталлятор.

  2. Нажмите Package.

  3. Распределите инсталлятор по мере необходимости.

Установите MATLAB Runtime

Этот пример показывает, как установить MATLAB Runtime в системе.

Если вам дают инсталлятор, содержащий скомпилированные артефакты, то MATLAB Runtime установлен наряду с приложением или разделяемой библиотекой. Если вам дают только необработанные двоичные файлы, загрузите инсталлятор MATLAB Runtime с сети и запустите установщика.

Примечание

Если вы работаете на платформе кроме Windows, изменяете путь на целевой машине. Устанавливание путей позволяет вашему приложению найти MATLAB Runtime. Для получения дополнительной информации об устанавливании пути смотрите Настройки Пути MATLAB Runtime для Развертывания Во время выполнения (MATLAB Compiler SDK).

Пути к Windows установлены автоматически. На Linux® и Mac, можно использовать скрипт выполнения, чтобы установить пути. Смотрите проблемы Установить Пути MATLAB Runtime для получения дальнейшей информации при выполнении всех задач развертывания в частности с вариантами UNIX®, такими как Linux и Mac.

Где найти API MWArray

MATLAB Runtime также включает MWArray.dll, который содержит API для обмена данными между вашими приложениями и MATLAB Runtime. Можно найти документацию для этого API в папке Help установки.

На целевых машинах, где установщик MATLAB Runtime запущен, это помещает блок MWArray в mcrRoot\toolbox\dotnetbuilder\bin\architecture\framework_version.

Демонстрационная структура каталогов MATLAB Runtime включая MWArray.dll

Дополнительная установка и распределение

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

Вызов дополнительного кода из электронной таблицы Excel

Чтобы запустить исполняемый код от ячейки в электронной таблице Excel, взовите к дополнительному имени с вызовом метода. Например, если вы развернули часть кода MATLAB по имени mymagic.m или фигуры под названием mymagic.fig, вы вызываете тот код путем ввода следующего в ячейку в электронной таблице:

=mymagic()

Совет

Если вызов метода сразу не оценивает, нажмите Ctrl, Shift и Enter одновременно.