Skip navigation

Account settings

Topic

filling X column with formula in VBA

Home page Community Automation and VBA filling X column with formula in VBA

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #35067

    Good morning,

    I am using a formula ( see vb code ) to fill the X column of a signal . The “.FillColumns” line in the code generate an error message “invalid procedure call or argument” .

    It only works If I replace the Step variable directly by a numerical value but I need to use a variable in the formula.
    How can I do ?

    Dim oSignal As DataSet
    Dim Step
    Step = 0.1
    Set oSignal = ActiveDatabase.RootFolder.Add(“Random”, fpObjectTypeDataSet)

    With oSignal
    .DataStructure = fpDataStructureSignal
    .DataType(fpDataComponentX) = fpDataTypeFloat32
    .DataType(fpDataComponentY) = fpDataTypeFloat32
    .NumberOfRows = NbPoints

    .FillColumns “(NumberOfValues(i), FloatingPoint32 1,FloatingPoint32 Step )”, fpDataComponentX

    .Value(fpDataComponentY) = DataY
    End With

    Best regards

    #35065

    Good morning,

    I am using a formula ( see vb code ) to fill the X column of a signal . The “.FillColumns” line in the code generate an error message “invalid procedure call or argument” .

    It only works If I replace the Step variable directly by a numerical value but I need to use a variable in the formula.
    How can I do ?

    Dim oSignal As DataSet
    Dim Step
    Step = 0.1
    Set oSignal = ActiveDatabase.RootFolder.Add(“Random”, fpObjectTypeDataSet)

    With oSignal
    .DataStructure = fpDataStructureSignal
    .DataType(fpDataComponentX) = fpDataTypeFloat32
    .DataType(fpDataComponentY) = fpDataTypeFloat32
    .NumberOfRows = NbPoints

    .FillColumns “(NumberOfValues(i), FloatingPoint32 1,FloatingPoint32 Step )”, fpDataComponentX

    .Value(fpDataComponentY) = DataY
    End With

    Best regards

    #35066
    Bernhard Kantz
    Participant

    The first argument of the [b]FillColumns[/b] method is a FPScript formula which will be evaluated to produce a data series or data matrix to be assigned to the component specified as the second argument. The variable [b]i[/b] is predefined and holds a data series of index values 0, 1, 2, 3 and so on.
    In your code you are using a second variable [b]Step[/b] which is decraded on the VBA level but not for the FPScript function. To solve your problem you may either exchange [b]Step[/b] by the literal constant [b]0.1[/b] or add the following code to the FPScript formula:


    Dim Step
    Step = 0.1
    (NumberOfValues(i), FloatingPoint32 1,FloatingPoint32 Step )

    Hint: If you switch on macro recording and the use the command “Fill column with values” you will see that FlexPro uses an FPScript with delarations as given above.

    support@weisang.com

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.