把MATLAB作为自动化服务器端时,在Word的Visual Basic编辑器中编程,利用CreateObject函数或GetObject函数,结合MATLAB的ProgID值,可以在Word中直接启动MATLAB,并使用MATLAB提供的自动化方法和属性进行编程。[大谦MATLAB,dqmatlab点com]
本例试图生成魔方矩阵。在Word中指定魔方矩阵的大小,调用MATLAB生成魔方矩阵,然后在Word程序界面上显示出来。
首先设计程序界面。如图2-2所示。从工具箱中通过拖拉操作,创建两个文本框控件实例(TextBox1和TextBox3)和一个按钮控件实例(CommandButton1)。将窗体的Caption属性值修改为“WORD调用MATLAB示例”,修改命令按钮的Caption属性值为“确定”。设置TextBox3文本框的MultiLine属性值为True,Scrollbars属性值为3。
双击命令按钮,在代码窗口输入代码如下所示。
code.word vba
Private Sub CommandButton1_Click()
Dim strFun As String
Dim objMATLAB As Object
strFun = "magic(" & TextBox1.Text & ")"
Set objMATLAB = CreateObject("matlab.application")
objMATLAB.Visible = True
TextBox3.Text = CStr(objMATLAB.Execute(strFun))
End Sub
图2-2 Word的VBA开发环境
单击F5键,运行程序。如图2-3所示,在第一个窗口中输入5,单击“确定”按钮,生成并显示5阶魔方矩阵。
图2-3 程序运行结果