Дополнительные аргументы MATLAB ActiveX - PullRequest
3 голосов
/ 12 января 2012

есть функция ActiveX, которую я хочу вызвать из MATLAB, например,

PrintOut([Background], [Append], [Range], [OutputFileName], [From], [To], [Item], [Copies],
 [Pages], [PageType], [PrintToFile], [Collate], [FileName], [ActivePrinterMacGX],
 [ManualDuplexPrint], [PrintZoomColumn], [PrintZoomRow], [PrintZoomPaperWidth],
 [PrintZoomPaperHeight])

и использовать ее следующим образом:

hdlActiveX = actxserver('Word.Application');
hdlActiveX.PrintOut(opt args, needed args, opt opts, needed args);

Все аргументы в вызове функции PrintOut являютсянеобязательные аргументы.Однако для конкретного случая мне нужно указать аргументы № 3, № 9, № 10 и оставить все остальное по умолчанию.Есть ли возможность указать пропущенные или значения по умолчанию в вызове функции ActiveX, вызываемом через MATLAB?!?

В C # это можно сделать так, но в Matlab ActiveX ...?!?

this.PrintOut(ref Background, ref missing, ref Range, ref missing,
    ref missing, ref missing, ref missing, ref Copies,
    ref missing, ref PageType, ref PrintToFile, ref Collate,
    ref missing, ref ManualDuplexPrint, ref PrintZoomColumn,
    ref PrintZoomRow, ref missing, ref missing);

С уважением,

Ответы [ 2 ]

3 голосов
/ 12 января 2012

Согласно документации Matlab, вы можете пропустить необязательные входные аргументы , используя вместо этого пустой массив (т. Е. []).

Так это будет выглядеть так:

hdlActiveX.PrintOut([],needed args,[],needed args);
0 голосов
/ 10 февраля 2017

Я использую NaN для параметров по умолчанию / необязательно, и это работает для меня.Так что моя версия будет:

hdlActiveX.PrintOut(NaN, needed args, NaN, needed args);

Честно говоря, я думаю, что оба будут работать нормально.Надеюсь, это поможет!

...