comserver

Укажите, не укажите или запросите MATLAB сервер COM

Описание

пример

comserver(action) регистры или нерегистры MATLAB® как сервер COM в вашей учетной записи пользователя без потребности в административных привилегиях. Этот синтаксис эквивалентен:

comserver('register','User','current')
comserver('unregister','User','current')

пример

comserver(action,'User','all') регистры или нерегистры MATLAB для всех пользователей. Чтобы использовать этот синтаксис, необходимо запустить MATLAB как администратор.

пример

comserver('query') пути к установке отображений зарегистрированного MATLAB серверы COM.

s = comserver('query') возвращает структуру с полями вектора символов:

  • User — Путь к установке MATLAB указан для текущей учетной записи пользователя

  • Administrator — Путь к установке MATLAB указан для всех пользователей

Примеры

свернуть все

Запустите MATLAB R2020a и тип:

comserver('register')

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

Начните MATLAB с опции Run as administrator. На основе ваших настроек User Account Control (UAC) вы можете должны быть щелкнуть правой кнопкой по Windows® Командная строка или значок MATLAB, чтобы выбрать Run as administrator.

Если MATLAB запускается, регистр MATLAB для всех пользователей:

comserver('register','User','all')

Предположим, что ваша система имеет MATLAB R2019b и R2020a, и ваш администратор указал R2019b как сервер COM для всех пользователей.

Вы хотите использовать MATLAB R2020a с приложением VBA. Запустите версию MATLAB R2020a и тип:

comserver('register')

Проверьте версию MATLAB, указанную для вашей учетной записи.

comserver('query')
         User: 'C:\Program Files\MATLAB\R2020a\bin\win64\MATLAB.exe'
Administrator: 'C:\Program Files\MATLAB\R2019b\bin\win64\MATLAB.exe'

MATLAB отображает пути к установке зарегистрированных версий. Путь для User установка MATLAB R2020a, поэтому когда вы запускаете свое приложение VBA, она связывается с MATLAB R2020a.

Если при запуске свое приложение VBA с помощью Run as administrator, то приложение использует MATLAB R2019b.

Входные параметры

свернуть все

Регистрационное действие в виде одного из этих значений.

'register'

Укажите этот MATLAB как сервер COM. Это действие заменяет предыдущую регистрацию, если таковые имеются.

'unregister'

Не укажите MATLAB как сервер COM.

Если вы хотите использовать MATLAB, указанный администратором для всех пользователей, вызовите:

comserver('unregister','User','current')

Если вы - администратор, и вы хотите изменить сервер COM для всех пользователей, нет никакой потребности не указать. Запустите версию MATLAB, который вы хотите указать и вызвать:

comserver('register','User','all')

Если вы хотите удалить MATLAB, указанный как сервер COM для всех пользователей, вызовите этот оператор. Любой MATLAB, указанный для учетных записей отдельного пользователя, незатронут.

comserver('unregister','User','all')

Типы данных: char | string

Альтернативная функциональность

Для пользователей с административными привилегиями можно указать и не указать MATLAB для всех пользователей от Windows Command Prompt. Для получения дополнительной информации смотрите matlab (Windows). Если у вас есть несколько версий MATLAB, установленного на вашем компьютере, лучшая практика должна запуститься matlab команда от matlabroot папка. Чтобы указать MATLAB для всех пользователей, введите:

matlab -batch "comserver('register','User','all')"

Чтобы не указать MATLAB для всех пользователей, введите:

matlab -batch "comserver('unregister','User','all')"

Примечание

comserver функция доступна для MATLAB R2020a и позже. Чтобы указать предыдущие версии MATLAB, введите:

matlab -regserver
Чтобы не указать, введите:
matlab -unregserver

Введенный в R2020a