主要内容

班米尔蒂尔

这个MWUtil类包含一组用于阵列处理和应用程序初始化的静态实用程序方法。此类在内部实现为单例(每个实例只有一个全局实例微软®擅长®).在使用它的每个模块的全局作用域中声明一个这种类型的变量是最有效的。的方法MWUtil是:

函数原型使用Visual Basic®语法。

子mwinitapplication(papp为对象)

使用的当前实例初始化库Microsoft Excel

参数

争论 类型 描述

PAPP.

目的

对当前Excel应用程序的有效引用

返回值

没有任何。

评论

对于使用由创建的COM组件的每个Excel会话,必须调用此函数一次马铃薯®编译器™.如果对任意的成员类进行方法调用,则会产生错误MATLAB编译器SDK™COM组件,并且库尚未初始化。

例子

这个Visual Basic示例初始化MWComUtil包含当前Excel实例的库。类型为的全局变量目的命名Mclutil.拥有一个实例MWUtil类,以及另一个全局变量布尔基命名B模块初始化存储初始化过程的状态。私人子程序initmodule()创建MWComUtil类并调用mwinitapplication有争议的方法应用.一旦此函数成功,所有后续调用都会退出而不重新创建对象。

暗MCLUtil对象昏暗bModuleInitialized如布尔私人潜艇InitModule()如果不是bModuleInitialized那么On Error GoTo Handle_Error如果MCLUtil并不那么设置MCLUtil = CreateObject(“MWComUtil.MWUtil”)如果调用MCLUtil.MWInitApplication(应用程序)bModuleInitialized = True退出子Handle_Error:bModuleInitialized = False结束

笔记

如果您正在使用多个版本的MATLAB和mwcomutil.dll.,例如,使用以下语法:

设置MCLUtil=CreateObject(“MWComUtil.MWUtil”)
要求您在每次升级时重新编译COM模块。若要避免此情况,请调用MWUtil模块特定于:例如:
设置mclutil = createObject(“mwcomutil.mwutilx、 x")
哪里x、 x是特定的版本号。

子MWInitApplicationWithMCROptions(pApp作为对象,[mcrOptionList])

开始Matlab运行时具有Matlab运行时选项。相似mclInitializeApplication

参数

争论 类型 描述

PAPP.

目的

仅当从Excel应用程序调用时才为有效引用

非Excel COM客户端传入空的

返回值

没有任何。

评论

调用此函数以传入Matlab运行时选择权(nojvm,日志文件,等等)。每个进程调用此函数一次。

例子

这个Visual Basic示例初始化MWComUtil包含当前Excel实例的库。类型为的全局变量目的命名Mclutil.拥有一个实例MWUtil类,以及另一个全局变量布尔基命名B模块初始化存储初始化过程的状态。私人子程序initmodule()创建MWComUtil类并调用MWInitApplicationWithMCROptions有争议的方法应用以及包含选项的字符串数组。一旦此函数成功,所有后续调用将退出,而不重新创建对象。当此函数成功执行时Matlab运行时启动时没有JVM™ 和一个名为logfile.txt.

昏暗MCLUtil作为对象暗淡bModuleInitialized由于布尔私人小组InitModule()如果不bModuleInitialized然后对错误转到了handle_error如果MCLUtil什么然后设置MCLUtil =的CreateObject(“MWComUtil.MWUtil”)结束如果昏暗mcrOptions(1〜3)作为字符串mcrOptions(1)= “-nojvm” mcrOptions(2)= “-logfile” mcrOptions(3)= “LOGFILE.TXT” 呼叫MCLUtil.MWInitApplicationWithMCROptions(应用程序,mcrOptions)bModuleInitialized =真退出小组了handle_error:bModuleInitialized =假结束如果结束子

笔记

如果您没有使用Excel,请输入没有而不是应用MWInitApplicationWithMCROptions

函数IsMCRJVMEnabled()为布尔值

回报真的如果Matlab运行时使用JVM启动;否则返回错误的

参数

没有任何。

返回值

布尔基

函数是ickInitialized()作为布尔值

回报真的如果Matlab运行时是初始化的;否则退货错误的

参数

没有任何。

返回值

布尔基

子MWPack(pVarArg, [Var0], [Var1],…)(Var31))

包装可变长度列表变体将参数转换为单个参数变体大批。此功能通常用于创建一个瓦拉金来自单独输入列表的单元格。列表中的每个输入才会在不为空或缺少时添加到数组中。(在Visual Basic,a缺少参数由a表示变体类型vbError价值&H80020004.。)

参数

争论 类型 描述

Pvararg.

变体

接收结果数组

[Var0],[Var1]。。。

变体

可选名单变体s包装到数组。可以通过0到32个参数。

返回值

没有任何。

评论

这个函数总是释放的内容Pvararg.在处理列表之前。

例子

本例使用MWPack在制造a的公式功能中瓦拉金将单元格作为输入参数传递给从带有签名的MATLAB函数编译的方法

函数y = sum([varargin{:}]);

该函数返回中元素的总和瓦拉金. 假设此函数是名为我的课包含在名为真菌成分版本为1.0。Visual Basic功能最多允许10个输入,并返回结果Y.如果发生错误,则该函数返回错误消息。此功能假定mwinitapplication先前已被称为。

函数mysum(可选V0为变量、可选V1为变量、可选V2为变量、可选V3为变量、可选V4为变量、可选V5为变量、可选V6为变量、可选V7为变量、可选V8为变量、可选V9为变量)As Variant Dim y As Variant Dim varargin As Variant Dim aClass As Object Dim aUtil As Object On Error Goto Handle_Error Set aClass=CreateObject(“mycomponent.myclass.1_0”)Set aUtil=CreateObject(“MWComUtil.MWUtil”)调用aUtil.MWPack(varargn,V0,V1,V1,V2,V3,V5,V7,V8,V9)调用aClass.mysum(1,y,varargin)mysum=y退出函数句柄\u错误:mysum=Err.Description结束函数

子MWUnpack(VARARG,[nStartAt只要],[bAutoResize由于布尔= FALSE],[pVar0],[pVar1],...,[pVar31])

解压缩一系列变体把它变成个人变体参数。此函数提供的功能与MWPack并且通常用于处理varargout.细胞进入个体变体s

参数

争论 类型 描述

vararg.

变体

输入数组变体待处理的文件

恩斯塔特

长的

数组中开始处理的可选起始索引(从零开始)。默认=0

鲍托雷斯

布尔基

可选的自动调整大小标志。如果此标志为真的,将调整任何Excel范围输出参数的大小,以适合变体要复制。调整大小的过程是相对于所提供范围的左上角应用的。默认值=错误的

[pvar0],[pvar1],...

变体

可选名单变体s以接收中包含的数组项vararg..可以通过0到32个参数。

返回值

没有任何。

评论

此功能可以处理a变体在单个调用中或通过多个调用使用恩斯塔特参数

例子

本例使用MWUnpack处理varargout.单元格转换为多个Excel区域,同时自动调整每个区域的大小。这个varargout.从已从MATLAB函数编译的方法提供参数。

函数varargout = i = 1的randvectors:nargout varargout {i} = rand(i,1);结尾

这个函数产生一个序列露狼随机列向量,具有等于I的ITH矢量的长度。假设此函数包含在名为的类中我的课包含在名为真菌成分版本为1.0。Visual Basic子程序没有参数,并将结果放在A1,B1,C1和D1处的Excel列中。如果发生错误,则会显示“消息”框显示错误文本。此功能假定mwinitapplication先前已被称为。

子GenVectors()昏暗ACLASS作为对象昏暗aUtil作为对象昏暗V作为变暗淡R1作为范围暗淡R2作为范围暗淡R3作为范围暗淡R4作为范围对错误转到了handle_error集ACLASS =的CreateObject(“mycomponent.myclass.1_0”)设置autil = createObject(“mwcomutil.mwutil”)设置R1 =范围(“A1”)设置R2 =范围(“B1”)设置R3 =范围(“C1”)设置R4 =范围(“D1”)调用ACLASS.randVectors(4,v)调用autil.mwunpack(v,0,true,r1,r2,r3,r4)退出子柄_error:msgbox(err.description)结束子子

子MWDate2VariantDate(pVar)

转换输出日期从MATLAB变体日期。

参数

争论 类型 描述

pVar

变体

变体转换

返回值

没有任何。

评论

MATLAB将日期处理为双精度浮点数,0.0表示0/0/00 00:00:00。默认情况下,作为编译后的MATLAB函数输出参数的数字日期作为双倍的需要由COM日期偏见递减,并授予COM日期。这个MWDate2VariantDate方法执行此转换,并另外将字符向量形式的日期转换为COM日期类型。

例子

本例使用MWDate2VariantDate处理由下列MATLAB函数编译的方法返回的数值日期。

函数x = getdates(n,conc)y =现在;对于i = 1:n x(i,1)= y +(i-1)* inc;结尾

此功能会产生一个N- 表示从当前日期和时间开始的日期的数字值的长列向量,其中每个元素递增公司天。假设此函数包含在名为我的课包含在名为真菌成分版本为1.0。子程序需要一个Excel范围和一个双倍的作为输入并将生成的日期放入提供的范围。如果发生错误,将显示一个消息框,其中显示错误文本。此函数假定mwinitapplication先前已被称为。

子GenDates(R作为范围,INC作为双人)昏暗ACLASS作为对象昏暗aUtil作为对象对错误转到了handle_error集ACLASS =的CreateObject( “mycomponent.myclass.1_0”)设置aUtil =的CreateObject( “MWComUtil.MWUtil”)呼叫ACLASS。getdates(1,R,R.Rows.Count,Inc)中呼叫aUtil.MWDate2VariantDate(R)退出小组了handle_error中:MsgBox(Err.Description)结束子