Access to Cells via VBA

SupportCommunity Automation and VBA Access to Cells via VBA

Ansicht von 7 Beiträgen - 1 bis 7 (von insgesamt 7)
  • Autor
    Beiträge
  • #12429

    Probably it’s pretty easy to answer my question, nonetheless here it is:
    VBA in Excel permits users to access cells via the expression cells(a, b). Is there an equivalent in VBA for FlexPro? In my special case I want to compare variables with the content of cells.
    Thanks for support!

    #8110

    Probably it’s pretty easy to answer my question, nonetheless here it is:
    VBA in Excel permits users to access cells via the expression cells(a, b). Is there an equivalent in VBA for FlexPro? In my special case I want to compare variables with the content of cells.
    Thanks for support!

    #8714
    Bernhard KantzBernhard Kantz
    Moderator

    Use the Value method of the DataSet object.

    
    Sub Example()
        Dim oDataSet As DataSet
        Dim V(2) As Double
        Set oDataSet = ThisDatabase.RootFolder.Add("data", fpObjectTypeDataSet)
        V(0) = 1
        V(1) = 2
        V(2) = 3
        oDataSet.Value = V
    End Sub
    

    See FlexPro Online Help
    Automating Tasks
    Automation with FlexPro Visual Basic
    First Steps with FlexPro Visual Basic
    Working with Objects
    Working with Data Sets

    Support@weisang.com

    #8715

    First of all thanks for the quick answer. Now I know how to handle “writing to cells” but how can I cope with reading them. In the online manual I could found this example:

    Dim S As Signal
    Set S = SignalDataSet.Value
    Dim Delta As Double
    Delta = S.X(1) – S.X(0)

    Could you please imbed it into a stand-alone example? Let’s say for a dataset called “Time” which has been imported.
    Thanks again…I’m learning …

    #8716
    Bernhard KantzBernhard Kantz
    Moderator

    Here is an example with a time signal which is in the root folder:

    
    Sub ReadData()
        Dim oDataset As DataSet
        Dim fXValues, fYValues, fYFirstValue
        Set oDataset = ThisDatabase.RootFolder.Object("Time", fpObjectTypeDataSet)
        fXValues = oDataset.Value(fpDataComponentX)
        fYValues = oDataset.Value(fpDataComponentY)
        fYFirstValue = oDataset.Value(fpDataComponentY, 1, 1)
    End Sub
    

    support@weisang.com

    #8717

    Hello,

    Is it possible to copy the complete Y column of a signal into the X column of another signal, without doing a loop ?

    Thanks

    #8718
    Bernhard KantzBernhard Kantz
    Moderator

    This is possible. Create a FPScript formula with the script:

    
    Signal(Signal1.Y, Signal2.Y)
    

    VBA-Example:

    
        Dim oFml As Formula
        
        Set oFml = ThisDatabase.RootFolder.Add("Formula", fpObjectTypeFormula)
        With oFml
            .Formula = "Signal(Signal1.Y, Signal2.Y)"
            .Evaluate
        End With
    

    support@weisang.com

Ansicht von 7 Beiträgen - 1 bis 7 (von insgesamt 7)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.