这个MWUtil
类包含一组用于阵列处理和应用程序初始化的静态实用程序方法。此类在内部实现为单例(每个实例只有一个全局实例微软®擅长®).在使用它的每个模块的全局作用域中声明一个这种类型的变量是最有效的。的方法MWUtil
是:
函数原型使用Visual Basic®语法。
使用的当前实例初始化库Microsoft Excel.
争论 | 类型 | 描述 |
---|---|---|
|
|
对当前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”)
MWUtil
模块特定于:例如:设置mclutil = createObject(“mwcomutil.mwutilx、 x")
x、 x
是特定的版本号。
开始Matlab运行时具有Matlab运行时选项。相似mclInitializeApplication
.
争论 | 类型 | 描述 |
---|---|---|
|
|
仅当从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
.
回报真的
如果Matlab运行时使用JVM启动;否则返回错误的
.
没有任何。
布尔基
回报真的
如果Matlab运行时是初始化的;否则退货错误的
没有任何。
布尔基
包装可变长度列表变体
将参数转换为单个参数变体
大批。此功能通常用于创建一个瓦拉金
来自单独输入列表的单元格。列表中的每个输入才会在不为空或缺少时添加到数组中。(在Visual Basic,a缺少参数由a表示变体
类型vbError
价值&H80020004.
。)
争论 | 类型 | 描述 |
---|---|---|
|
|
接收结果数组 |
[Var0],[Var1]。。。 |
|
可选名单 |
没有任何。
这个函数总是释放的内容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结束函数
解压缩一系列变体
把它变成个人变体
参数。此函数提供的功能与MWPack
并且通常用于处理varargout.
细胞进入个体变体
s
争论 | 类型 | 描述 |
---|---|---|
|
|
输入数组 |
|
|
数组中开始处理的可选起始索引(从零开始)。默认= |
|
|
可选的自动调整大小标志。如果此标志为 |
|
|
可选名单 |
没有任何。
此功能可以处理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)结束子子
转换输出日期从MATLAB变体
日期。
争论 | 类型 | 描述 |
---|---|---|
|
|
|
没有任何。
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)结束子