在Excel电子表格后面测试Visual Basic脚本



首先我需要指出的是,我从来没有编码过Visual Basic

我有一个旧的电子表格,其中有一些函数显然是用Visual Basic编写的。一个示例函数是:

<>之前 Function Helmert_X(X, Y, Z, DX, Y_Rot, Z_Rot, s) 'Computed Helmert transformed X coordinate. 'Input: - _ cartesian XYZ coords (X,Y,Z), X translation (DX) all in meters ; _ Y and Z rotations in seconds of arc (Y_Rot, Z_Rot) and scale in ppm (s). 'Convert rotations to radians and ppm scale to a factor Pi = 3.14159265358979 sfactor = s * 0.000001 RadY_Rot = (Y_Rot / 3600) * (Pi / 180) RadZ_Rot = (Z_Rot / 3600) * (Pi / 180) 'Compute transformed X coord Helmert_X = X + (X * sfactor) - (Y * RadZ_Rot) + (Z * RadY_Rot) + DX End Function 之前

我正试图将这些函数转换成c。我几乎完成了,但我想做的是建立一个visual basic项目,调用各种参数的函数。然后我将有一个C项目,它使用相同的参数,并检查C得到与Visual Basic相同的答案。

当我把Visual Basic函数放入Visual Studio中的模块时,我得到了很多错误。首先,注释并不都注册为注释,而且变量显然需要声明。

我是否正确地使用了函数?有没有办法在代码中使用它们而不修改它们?我可以使用Excel通过函数运行测试参数吗?

似乎您需要声明该函数中存在的所有变量。尝试在注释后添加这些行:

Dim Pi As Double
Dim sfactor As Double
Dim RadY_Rot As Double
Dim RadZ_Rot As Double

您还可以为函数附带的变量以及函数本身指定类型:

Function Helmert_X(X as Double, Y as Double, Z as Double, DX as Double, Y_Rot as Double, Z_Rot as Double, s as Double) as Double

让我知道它是否有效,或者是否还有一些问题。

最新更新