第三方库函数

【Excel VBA】

Excel VBA中可以使用第三方库函数。创建或获取第三方库后,在Excel VBA编程环境中,在“工具”菜单中单击“引用…”选项,打开“引用”对话框,如图10-1所示。在列表中找到要引用的库,或者单击“浏览”按钮找到要引用的库的文件,单击“确定”按钮完成引用。引用进来的第三方库可以用对象浏览器查看。

Document Image

图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都是第三方库,请参阅该章内容了解其用法。