【Excel VBA】
Excel VBA中可以使用第三方库函数。创建或获取第三方库后,在Excel VBA编程环境中,在“工具”菜单中单击“引用…”选项,打开“引用”对话框,如图10-1所示。在列表中找到要引用的库,或者单击“浏览”按钮找到要引用的库的文件,单击“确定”按钮完成引用。引用进来的第三方库可以用对象浏览器查看。
图10-1 引用第三方库
为了在VB中引入向量和矩阵计算,笔者曾经用VB写了一个动态链接库Math3D.dll,下面在Excel VBA编程环境中引用它并编码进行测试。
code.vba
Sub Test()
Dim vctFirst As Vector3D
Dim vctSecond As Vector3D
Dim mtxFirst As Matrix3D
Dim mtxSecond As Matrix3D
Set vctFirst = New Vector3D
Set vctSecond = New Vector3D
Set mtxFirst = New Matrix3D
Set mtxSecond = New Matrix3D
'第一个向量
vctFirst.x = 10#
vctFirst.y = 78.5
vctFirst.Z = 102.9
'第二个向量
vctSecond.x = 109.2
vctSecond.y = 82.5
vctSecond.Z = 180.8
'在窗体上输出第一个向量和第二个向量
Dim strFirst As String
Dim strSecond As String
strFirst = "第一个向量:" & Str(vctFirst.x) & " " & Str(vctFirst.y) & " " & Str(vctFirst.Z)
strSecond = "第二个向量:" & Str(vctSecond.x) & " " & Str(vctSecond.y) & " " & Str(vctSecond.Z)
Debug.Print
Debug.Print strFirst
Debug.Print strSecond
Debug.Print
'第一个向量的长度
Dim strLen As String
strLen = "第一个向量的长度:" & vctFirst.GetLength
Debug.Print strLen
'向量运算
Dim vctAdd As Vector3D
Dim vctSub As Vector3D
Dim dblMulDot As Double
Dim vctMulCro As Vector3D
Dim vctDev As Vector3D
Set vctAdd = vctFirst.Add(vctSecond)
Set vctSub = vctFirst.Subtract(vctSecond)
dblMulDot = vctFirst.MultDot(vctSecond)
Set vctMulCro = vctFirst.MultCross(vctSecond)
Set vctDev = vctFirst.Devide(2)
'输出运算结果
Dim strAdd As String
Dim strSub As String
Dim strMulDot As String
Dim strMulCro As String
Dim strDev As String
strAdd = "向量的和:" & Str(vctAdd.x) & " " & Str(vctAdd.y) & " " & Str(vctAdd.Z)
strSub = "向量的差:" & Str(vctSub.x) & " " & Str(vctSub.y) & " " & Str(vctSub.Z)
strMulDot = "向量点乘:" & Str(dblMulDot)
strMulCro = "向量叉乘:" & Str(vctMulCro.x) & " " & Str(vctMulCro.y) & " " & Str(vctMulCro.Z)
strDev = "第一个向量除以2:" & Str(vctDev.x) & " " & Str(vctDev.y) & " " & Str(vctDev.Z)
Debug.Print strAdd
Debug.Print strSub
Debug.Print strMulDot
Debug.Print strMulCro
Debug.Print strDev
End Sub
运行过程,在立即窗口中输出计算结果。
code.vba
第一个向量: 10 78.5 102.9
第二个向量: 109.2 82.5 180.8
第一个向量的长度:129.81009205759
【Python】
在Python中引用第三方库,或者说第三方模块,或者说第三方包,首先安装该库,然后在使用该模块的代码中导入它。第7章介绍的NumPy和pandas都是第三方库,请参阅该章内容了解其用法。