Интегрируйте дополнение и 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 одновременно.