Openstaad problems

Hi, I'm trying using excel vba to model but am having some problems. My staad pro ce is Version 22.01.00.38. Here are some tests which I followed from openSTAAD help.

TEST 1

Sub Test01()

    Dim objOpenSTAAD As Object
    Dim fCoordX As Double
    Dim fCoordY As Double
    Dim fCoordZ As Double
    Dim nNodeNo As Variant

    Set objOpenSTAAD = GetObject(, "StaadPro.OpenSTAAD")

    fCoordX = 3
    fCoordY = 2
    fCoordZ = 3

    nNodeNo = OSGeometryUI.AddNode(fCoordX, fCoordY, fCoordZ) -------> ERROR

    Set objOpenSTAAD = Nothing

End Sub

 ERROR: Run-time error '424': Object required

TEST 2

Sub Test02()

    Dim objOpenSTAAD As Object
    Dim fCoordX As Double
    Dim fCoordY As Double
    Dim fCoordZ As Double


    Set objOpenSTAAD = GetObject(, "StaadPro.OpenSTAAD")

    fCoordX = 3
    fCoordY = 2
    fCoordZ = 3

    OSGeometryUI.CreateNode(10, fCoordX, fCoordY, fCoordZ)

    Set objOpenSTAAD = Nothing

End Sub

 ERROR: Expected: =

TEST 3

Sub Test03()

Dim lNodeCount As Variant

lNodeCount = OSGeometryUI.GetNodeCount()
End Sub

 ERROR: Run-time error '424': Object required

I noted there is a "void" in the front of the function title in openSTAAD help, what does this mean? Does it mean the function can't use anymore?

  • Test 1: Modified Code

    Sub Test01()

        Dim objOpenSTAAD As Object
        Dim fCoordX As Double
        Dim fCoordY As Double
        Dim fCoordZ As Double
        Dim nNodeNo As Long

        Set objOpenSTAAD = GetObject(, "StaadPro.OpenSTAAD")

        fCoordX = 3
        fCoordY = 2
        fCoordZ = 3

        nNodeNo = objOpenSTAAD.Geometry.AddNode(fCoordX, fCoordY, fCoordZ)

        Set objOpenSTAAD = Nothing
    End Sub

    Test 2 Modified Code:

    Sub Test02()

        Dim objOpenSTAAD As Object
        Dim fCoordX As Double
        Dim fCoordY As Double
        Dim fCoordZ As Double


        Set objOpenSTAAD = GetObject(, "StaadPro.OpenSTAAD")

        fCoordX = 3
        fCoordY = 2
        fCoordZ = 3

        objOpenSTAAD.Geometry.CreateNode 10, fCoordX, fCoordY, fCoordZ

        Set objOpenSTAAD = Nothing

    End Sub

    Test 3 Modified Code:

    Sub Test03()
    Set objOpenSTAAD = GetObject(, "StaadPro.OpenSTAAD")

     Dim lNodeCount As Long

     lNodeCount = objOpenSTAAD.Geometry.GetNodeCount
    End Sub