# C1.CalcEngine.VBAEngine.VBAEngine

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_CalcEngine_VBAEngine_VBAEngine" data-uid="C1.CalcEngine.VBAEngine.VBAEngine" class="text-break">VBAEngine Class
</h1>
  <div class="markdown level0 summary"><p>The <a class="xref" href="C1.CalcEngine.VBAEngine.VBAEngine.html">VBAEngine</a> class is used to dynamically produce an expression and get the result of the expression. Supports VBA-like syntax.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><a class="xref" href="C1.CalcEngine.ExpressionEngine.ExpressionEngine.html">ExpressionEngine</a></div>
    <div class="level2"><span class="xref">VBAEngine</span></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="C1.CalcEngine.ExpressionEngine.IExpressionEngine.html">IExpressionEngine</a></div>
    <div><a class="xref" href="C1.CalcEngine.IEngineExtended.html">IEngineExtended</a></div>
    <div><a class="xref" href="C1.CalcEngine.IEngineExpressionItems.html">IEngineExpressionItems</a></div>
    <div><a class="xref" href="C1.CalcEngine.ISupportAliases.html">ISupportAliases</a></div>
    <div><a class="xref" href="C1.CalcEngine.ISupportCustomFunctions.html">ISupportCustomFunctions</a></div>
    <div><a class="xref" href="C1.CalcEngine.IEngine.html">IEngine</a></div>
    <div><a class="xref" href="C1.CalcEngine.ISupportVariables.html">ISupportVariables</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.CalcEngine.VBAEngine.html">C1.CalcEngine.VBAEngine</a></h6>
  <h6><strong>Assembly</strong>: C1.CalcEngine.dll</h6>
  <h5 id="C1_CalcEngine_VBAEngine_VBAEngine_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class VBAEngine : ExpressionEngine, IExpressionEngine, IEngineExtended, IEngineExpressionItems, ISupportAliases, ISupportCustomFunctions, IEngine, ISupportVariables</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class VBAEngine
    Inherits ExpressionEngine
    Implements IExpressionEngine, IEngineExtended, IEngineExpressionItems, ISupportAliases, ISupportCustomFunctions, IEngine, ISupportVariables</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_CalcEngine_VBAEngine_VBAEngine__ctor" data-uid="C1.CalcEngine.VBAEngine.VBAEngine.#ctor">
          <a class="xref" href="C1.CalcEngine.VBAEngine.VBAEngine.-ctor.html#C1_CalcEngine_VBAEngine_VBAEngine__ctor">VBAEngine()</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.CalcEngine.VBAEngine.VBAEngine.html">VBAEngine</a> class.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_CalcEngine_VBAEngine_VBAEngine_CurrentIndex" data-uid="C1.CalcEngine.VBAEngine.VBAEngine.CurrentIndex">
          <a class="xref" href="C1.CalcEngine.VBAEngine.VBAEngine.CurrentIndex.html#C1_CalcEngine_VBAEngine_VBAEngine_CurrentIndex">CurrentIndex</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the index of the entry from data source.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_VBAEngine_VBAEngine_DataSource" data-uid="C1.CalcEngine.VBAEngine.VBAEngine.DataSource">
          <a class="xref" href="C1.CalcEngine.VBAEngine.VBAEngine.DataSource.html#C1_CalcEngine_VBAEngine_VBAEngine_DataSource">DataSource</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the object used as the data source.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_CalcEngine_VBAEngine_VBAEngine_AddVariable_System_String_System_Object_" data-uid="C1.CalcEngine.VBAEngine.VBAEngine.AddVariable(System.String,System.Object)">
          <a class="xref" href="C1.CalcEngine.VBAEngine.VBAEngine.AddVariable.html#C1_CalcEngine_VBAEngine_VBAEngine_AddVariable_System_String_System_Object_">AddVariable(string, object)</a>
        </td>
        <td class="markdown level1 summary"><p>Adds a variable.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_VBAEngine_VBAEngine_GetFieldNames" data-uid="C1.CalcEngine.VBAEngine.VBAEngine.GetFieldNames">
          <a class="xref" href="C1.CalcEngine.VBAEngine.VBAEngine.GetFieldNames.html#C1_CalcEngine_VBAEngine_VBAEngine_GetFieldNames">GetFieldNames()</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the data source field names.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_VBAEngine_VBAEngine_GetItemsCount_C1_CalcEngine_ExpressionEngine_IExpression_" data-uid="C1.CalcEngine.VBAEngine.VBAEngine.GetItemsCount(C1.CalcEngine.ExpressionEngine.IExpression)">
          <a class="xref" href="C1.CalcEngine.VBAEngine.VBAEngine.GetItemsCount.html#C1_CalcEngine_VBAEngine_VBAEngine_GetItemsCount_C1_CalcEngine_ExpressionEngine_IExpression_">GetItemsCount(IExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a count of data source items.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_VBAEngine_VBAEngine_GetValue_System_Collections_Generic_IEnumerable_System_Object__" data-uid="C1.CalcEngine.VBAEngine.VBAEngine.GetValue(System.Collections.Generic.IEnumerable{System.Object})">
          <a class="xref" href="C1.CalcEngine.VBAEngine.VBAEngine.GetValue.html#C1_CalcEngine_VBAEngine_VBAEngine_GetValue_System_Collections_Generic_IEnumerable_System_Object__">GetValue(IEnumerable&lt;object&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a value from data source.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_VBAEngine_VBAEngine_ParseIdentifier_System_String_" data-uid="C1.CalcEngine.VBAEngine.VBAEngine.ParseIdentifier(System.String)">
          <a class="xref" href="C1.CalcEngine.VBAEngine.VBAEngine.ParseIdentifier.html#C1_CalcEngine_VBAEngine_VBAEngine_ParseIdentifier_System_String_">ParseIdentifier(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Parses an identifier string.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
