Variant to Boolean conversion

Hello

Also, we get a very unfortunate mistake of Boolean variable reading of a PLC register that is automatically converted to a Variant. And therefore, when wire us a Boolean indicator (led) it gives me the error 91: "the variant data type is not compatible with the data type of wired for the input type.

Some people have had the same problem but I'm not a little to get around / solution !

The intervening variable is down, "F3 BLOKKAGE SCHROEF 2 OK.

Thanks for help

In addition, you really should provide the data type during the conversion of a variant.  There is an entry on the top of the variant data Type node.

Tags: NI Software

Similar Questions

  • lock to pass a Boolean conversion or enabling / disabling flip flop in labview

    I am a newbie of labview, and I was scratching my head on a particular problem.

    I want to use a joystick (11button, 3-axis) to operate the 2 steps in microscope of PI in tandem. I think the best solution to this problem:

    the buttons of the gamepad provide engaged Boolean: they are true only while the button is kept pressed. Once the button is released, the Boolean value becomes false.

    I want to take this rocker and produce a Boolean value true the first time the button is pressed and change this boolean a false when the button is pressed subsequently.

    My current idea is to try to build something with a case or reporting structure, or even something like a Boolean value for whole conversion then division modulo-2.

    Can someone give me some advice here?

    Thank you!

    zipmanx wrote:

    From a programming point of view, which is preferable to use? a handler as too has suggested, or something like an event or saying?

    Here's another one: you can make a change to the level of the ILO in labview?

    Since you are reading material, you probably need to polling, if an event is released.

    Yes, you make changes to the level of the ILO in LabVIEW. Look in the "digital... data manipulation" palette.

    Here is an opportunity to resolve your problem (LabVIEW 8.5). Well, there are other ways to do it, but dfefinitely you don't need blue wires for the logic. .

  • Variant data type conversion

    Hi all

    I use VI Scripting in LabVIEW 2010. I need to know the data type of the wire connected to a Terminal. Terminal wire reference gives a property called "Datatype". I thought that this will help me. But he is a variant and how do I actually convert the data to find out the data type. Specifically, I want to make use of data type of cluster. How do I know if the wire is of type cluster?

    Thanks for any help.

    You want to use the 'GetTypeInfo.vi' VI "LabVIEW 20xx\vi.lib\Utility\VariantDataType\" folder for this!

    I would recommend installation of this Package of VI because it adds these features to pallets:

    https://decibel.NI.com/content/groups/hidden-gems-in-vilib

    Here's what it looks like:

  • Conversion of a Variant to the path

    Hi all

    I'm trying to use a configuration file to store my data for parameters. At the moment it's paths and parameters of the port com I thought that it would be preferable return a variant of my VI, but my code below gives this runtime error:

    LabVIEW: The variant data type is not compatible with the data type of wired for the input type.

    So this means that Labview does not support the variant > path type conversion. I can go back to send data of type string and this conversion to a number or a path in the code calling, but is there a better way to do it?

    Thanks for your suggestions (I'm a newbie)

    Ray

    It should work perfectly.  When you get your config file, you read a string?  If so, that's your problem.  The element must be a path before converting to the Variant.  If your version is based on a string, you will have to convert it to a string, then a path.

  • Clusters of indexing that are different sizes

    Hi all

    I am trying to do a simple task, but I don't know if there is a simple solution or not. Here's my problem:

    I have a main core which consists of additional clusters (call subgroups). These groups vary in size, ranging from 1 8 elements boolean Boolean element.

    Is there a simple way to index each subgroup within a loop for? When I use the node property, the value of sub-clusters is a Variant that I need to convert data type of cluster. I have a problem doing so, b/c 'Variant to data' requires a known cluster size to be set. Given that the sub-groups vary in size, I can't specify a fixed size. As it is, I am ERROR 91 during the variant for the conversion dattype process.

    Thanks for the help!

    Ha Ha, I used a pretty lame test case.

    I wrote of how brute force when I thought of the vi.lib VI.  This is the other way to do it in this case.

  • SmartView API V 11.1.2.2.300

    Could someone post the vb api for Smartview 11.1.2.2.300?

    I know that it is usually installed in the bin on my C drive, but the company I am train has not allowed access to the C drive.

    Attribute VB_Name = "SmartViewVBA".
    "Copyright (c) 1992, 2012, Oracle and/or its affiliates." All rights reserved.
    '
    "THE RESTRICTED RIGHTS LEGEND:
    ' Use, duplication, or disclosure by the Government is subject to
    "restrictions set forth in paragraph (c) (1) (ii) rights
    ' in the Technical Data and Computer Software DFARS 252.227 - 7013 clause,.
    "or the clause rights Commercial Computer Software restricted to.
    "Far 52.227 - 19, as the case may be."
    '
    "Oracle Corporation".
    "5450 Great America Parkway;" Santa Clara, CA 95054, United States USA
    '
    'VBA Smartview function declaration.

    '**************************************************************************
    "The global constants for outline question types.
    '**************************************************************************

    Global Const HYP_CHILDREN = 1
    Global Const HYP_DESCENDANTS = 2
    Global Const HYP_BOTTOMLEVEL = 3
    Global Const HYP_SIBLINGS = 4
    Global Const HYP_SAMELEVEL = 5
    Global Const HYP_SAMEGENERATION = 6
    Global Const HYP_PARENT = 7
    Global Const HYP_DIMENSION = 8
    Global Const HYP_NAMEDGENERATION = 9
    Global Const HYP_NAMEDLEVEL = 10
    Global Const HYP_SEARCH = 11
    Global Const HYP_WILDSEARCH = 12
    Global Const HYP_USERATTRIBUTE = 13
    Global Const HYP_ANCESTORS = 14
    Global Const HYP_DTSMEMBER = 15
    Global Const HYP_DIMUSERATTRIBUTES = 16

    '**************************************************************************
    "The global constants for query hierarchical member.
    '**************************************************************************

    Global Const HYP_COMMENT = 1
    Global Const HYP_FORMULA = 2
    Global Const HYP_UDA = 3
    Global Const HYP_ATTRIBUTE = 4

    '**************************************************************************
    «Global constants for hierarchical member query options»
    '**************************************************************************

    Global Const HYP_MEMBERSONLY = 1
    Global Const HYP_ALIASESONLY = 2
    Global Const HYP_MEMBERSANDALIASES = 4

    '**************************************************************************
    "The global constants for the ID of the version info.
    '**************************************************************************

    Global Const BUILD_VERSION = 'VERSION '.
    Global Const BUILD_NUMBER = 'BUILD No.'
    Global Const BUILD_DATE = "DATE construction".
    Global Const PRODUCT_ID = "PRODUCT ID".

    '**************************************************************************
    "The global constants for supported data providers.
    '**************************************************************************

    Global Const HYP_ANALYTIC_SERVICES = "Analytic Provider Services.
    Global Const HYP_FINANCIAL_MANAGEMENT = "Hyperion Financial Management."
    Global Const HYP_ESSBASE = "Essbase.
    Global Const HYP_PLANNING = "schedule".
    Global Const HYP_OBIEE = "OBIEE.
    Global Const HYP_ENTERPRISE = "Hyperion Enterprise."
    Global Const HYP_RA = 'Hyperion Smart View provider for Hyperion Reporting' and analysis

    '**************************************************************************
    "The global constants for members information name of the property.
    '**************************************************************************
    Global Const HYP_MI_NAME = 'name '.
    Global Const HYP_MI_DIM = "Dim".
    Global Const HYP_MI_LEVEL = 'level '.
    Global Const HYP_MI_GENERATION = 'Generation '.
    Global Const HYP_MI_PARENT_MEMBER_NAME = "ParentMbrName".
    Global Const HYP_MI_CHILD_MEMBER_NAME = "ChildMbrName".
    Global Const HYP_MI_PREVIOUS_MEMBER_NAME = "PrevMbrName".
    Global Const HYP_MI_NEXT_MEMBER_NAME = "NextMbrName".
    Global Const HYP_MI_CONSOLIDATION = 'Consolidation '.
    Global Const HYP_MI_IS_TWO_PASS_CAL_MEMBER = "IsTwoPassCalcMbr".
    Global Const HYP_MI_IS_EXPENSE_MEMBER = "IsExpenseMbr".
    Global Const HYP_MI_CURRENCY_CONVERSION_TYPE = "CurrencyConversionType".
    Global Const HYP_MI_CURRENCY_CATEGORY = "CurrencyCategory".
    Global Const HYP_MI_TIME_BALANCE_OPTION = "TimeBalanceOption".
    Global Const HYP_MI_TIME_BALANCE_SKIP_OPTION = "TimeBalanceSkipOption".
    Global Const HYP_MI_SHARE_OPTION = "interest".
    Global Const HYP_MI_STORAGE_CATEGORY = "StorageCategory".
    Global Const HYP_MI_CHILD_COUNT = "ChildCount.
    Global Const HYP_MI_ATTRIBUTED = "attributed".
    Global Const HYP_MI_RELATIONAL_DESCENDANT_PRESENT = "RelDescendantPresent".
    Global Const HYP_MI_RELATIONAL_PARTITION_ENABLED = "RelPartitionEnabled".
    Global Const HYP_MI_DEFAULT_ALIAS = "DefaultAlias.
    Global Const HYP_MI_HIERARCHY_TYPE = "HierarchyType.
    Global Const HYP_MI_DIM_SOLVE_ORDER = "DimSolveOrder".
    Global Const HYP_MI_IS_DUPLICATE_NAME = "IsDuplicateName".
    Global Const HYP_MI_UNIQUE_NAME = "UniqueName.
    Global Const HYP_MI_ORIGINAL_MEMBER = "OrigMember".
    Global Const HYP_MI_IS_FLOW_TYPE = "IsFlowType".
    Global Const HYP_MI_AGGREGATE_LEVEL = "AggLevel".
    Global Const HYP_MI_FORMAT_STRING = "FormatString".
    Global Const HYP_MI_ATTRIBUTE_DIMENSIONS = "AttributeDims".
    Global Const HYP_MI_ATTRIBUTE_MEMBERS = "AttributeMbrs".
    Global Const HYP_MI_ATTRIBUTE_TYPES = 'AttributeTypes '.
    Global Const HYP_MI_ALIAS_NAMES = "AliasNames.
    Global Const HYP_MI_ALIAS_TABLES = "AliasTables".
    Global Const HYP_MI_FORMULA = "Formula".
    Global Const HYP_MI_COMMENT = "comment".
    Global Const HYP_MI_LAST_FORMULA = "LastFormula".
    Global Const HYP_MI_UDAS = "Edu".

    '**************************************************************************
    "Enumeration of Type of the linked object
    '**************************************************************************
    TYPE_OF_LRO Enumeration
    CELL_NOTE_LRO = 1
    FILE_LRO = 2
    URL_LRO = 3
    End Enum

    '**************************************************************************
    ' Enumeration of the types of journal content
    '**************************************************************************

    TYPE_OF_CONTENTS_IN_SHEET Enumeration
    EMPTY_SHEET
    ADHOC_SHEET
    FORM_SHEET
    INTERACTIVE_REPORT_SHEET
    End Enum

    '**************************************************************************
    ' Enumeration of the Smart View Error Codes
    '**************************************************************************

    SmartViewErrors Enumeration
    SS_ERR_ERROR = 4
    SS_NO_GRID_ON_SHEET_BUT_FUNCTIONS_SUBMITTED = 2
    SS_SHEET_NOT_CONNECTED_BUT_FUNCTIONS_SUBMITTED = 1
    SS_OK = 0
    SS_INIT_ERR = - 1
    SS_TERM_ERR = - 2
    SS_NOT_INIT = - 3
    SS_NOT_CONNECTED = - 4
    SS_NOT_LOCKED = - 5
    SS_INVALID_SSTABLE = - 6
    SS_INVALID_SSDATA = - 7
    SS_NOUNDO_INFO = - 8
    SS_CANCELED = - 9
    SS_GLOBALOPTS = - 10
    SS_SHEETOPTS = - 11
    SS_NOTENABLED = - 12
    SS_NO_MEMORY = - 13
    SS_DIALOG_ERROR = - 14
    SS_INVALID_PARAM = - 15
    SS_CALCULATING = - 16
    SS_SQL_IN_PROGRESS = - 17
    SS_FORMULAPRESERVE = - 18
    SS_INTERNALSSERROR = - 19
    SS_INVALID_SHEET = - 20
    SS_NOACTIVESHEET = - 21
    SS_NOTCALCULATING = - 22
    SS_INVALIDSELECTION = - 23
    SS_INVALIDTOKEN = - 24
    SS_CASCADENOTALLOWED = - 25
    SS_NOMACROS = - 26
    SS_NOREADONLYMACROS = - 27
    SS_READONLYSS = - 28
    SS_NOSQLACCESS = - 29
    SS_MENUALREADYREMOVED = - 30
    SS_MENUALREADYADDED = - 31
    SS_NOSPREADSHEETACCESS = - 32
    SS_NOHANDLES = - 33
    SS_NOPREVCONNECTION = - 34
    SS_LROERROR = - 35
    SS_LROWINAPPACCESSERR = - 36
    SS_DATANAVINITERR = - 37
    SS_PARAMSETNOTALLOWED = - 38
    SS_SHEET_PROTECTED = - 39
    SS_CALCSCRIPT_NOTFOUND = - 40
    SS_NOSUPPORT_PROVIDER = - 41
    SS_INVALID_ALIAS = - 42
    SS_CONN_NOT_FOUND = - 43
    SS_APS_CONN_NOT_FOUND = - 44
    SS_APS_NOT_CONNECTED = - 45
    SS_APS_CANT_CONNECT = - 46
    SS_CONN_ALREADY_EXISTS = - 47
    SS_APS_URL_NOT_SAVED = - 48
    SS_MIGRATION_OF_CONN_NOT_ALLOWED = - 49
    SS_CONN_MGR_NOT_INITIALIZED = - 50
    SS_FAILED_TO_GET_APS_OVERRIDE_PROPERTY = - 51
    SS_FAILED_TO_SET_APS_OVERRIDE_PROPERTY = - 52
    SS_FAILED_TO_GET_APS_URL = - 53
    SS_APS_DISCONNECT_FAILED = - 54
    SS_OPERATION_FAILED = - 55
    SS_CANNOT_ASSOCIATE_SHEET_WITH_CONNECTION = - 56
    SS_REFRESH_SHEET_NEEDED = - 57
    SS_NO_GRID_OBJECT_ON_SHEET = - 58
    SS_NO_CONNECTION_ASSOCIATED = - 59
    SS_NON_DATA_CELL_PASSED = - 60
    SS_DATA_CELL_IS_NOT_WRITABLE = - 61
    SS_NO_SVC_CONTENT_ON_SHEET = - 62
    SS_FAILED_TO_GET_OFFICE_OBJECT = - 63
    SS_OP_FAILED_AS_CHART_IS_SELECTED = - 64
    SS_EXCEL_IN_EDIT_MODE = - 65
    SS_SHEET_NON_SMARTVIEW_COMPATIBLE = - 66
    SS_APP_NOT_STANDALONE = - 67
    SS_SMART_VIEW_DISABLED = - 68
    SS_VBA_DEPRECATED = - 69
    SS_OPERATION_NOT_SUPPORTED_IN_MULTIGRID_MODE = - 70
    SS_INVALID_MEMBER = - 71
    SS_NO_SV_NAME_RANGE = - 72
    SS_AMBIGUOUS_MENU = - 73
    End Enum

    '**************************************************************************
    'Enumeration of the index options to use for HypGetOption/HypSetOption.
    '**************************************************************************

    HYP_SVC_OPTIONS_INDEX Enumeration
    HSV_ZOOMIN = 1
    HSV_INCLUDE_SELECTION
    HSV_WITHIN_SELECTEDGROUP
    HSV_REMOVE_UNSELECTEDGROUP
    HSV_INDENTATION
    HSV_SUPPRESSROWS_MISSING
    HSV_SUPPRESSROWS_ZEROS
    HSV_SUPPRESSROWS_UNDERSCORE
    HSV_SUPPRESSROWS_NOACCESS
    HSV_SUPPRESSROWS_REPEATEDMEMBERS
    HSV_SUPPRESSROWS_INVALID
    HSV_ANCESTOR_POSITION
    HSV_MISSING_LABEL
    HSV_NOACCESS_LABEL
    HSV_CELL_STATUS
    HSV_MEMBER_DISPLAY
    HSV_INVALID_LABEL
    HSV_SUBMITZERO
    HSV_19 ' unused reserved for later use.
    HSV_20
    HSV_PRESERVE_FORMULA_COMMENT
    HSV_22
    HSV_FORMULA_FILL
    HSV_EXCEL_FORMATTING = 30
    HSV_RETAIN_NUMERIC_FORMATTING
    HSV_THOUSAND_SEPARATOR
    HSV_NAVIGATE_WITHOUTDATA
    HSV_ENABLE_FORMATSTRING
    HSV_ENHANCED_COMMENT_HANDLING
    HSV_ADJUSTCOLUMNWIDTH
    HSV_DECIMALPLACES
    HSV_SCALE
    HSV_MOVEFORMATS_ON_ADHOC
    HSV_DISPLAY_INVALIDDATA
    HSV_SUPPRESSCOLUMNS_MISSING
    HSV_SUPPRESSCOLUMNS_ZEROS
    HSV_SUPPRESSCOLUMNS_NOACCESS
    HSV_SUPPRESS_MISSINGBLOCKS
    HSV_DOUBLECLICK_FOR_ADHOC = 101
    HSV_UNDO_ENABLE
    HSV_103
    HSV_LOGMESSAGE_DISPLAY
    HSV_ROUTE_LOGMESSAGE_TO_FILE
    HSV_CLEAR_LOG_ON_NEXTLAUNCH
    HSV_REDUCE_EXCEL_FILESIZE
    HSV_ENABLE_RIBBON_CONTEXT
    HSV_DISPLAY_HOMEPANEL_ONSTARTUP
    HSV_SHOW_COMMENTDIALOG_ON_REFRESH
    HSV_NUMBER_OF_UNDO_ACTION
    HSV_NUMBER_OF_MRU_ITEMS
    HSV_ROUTE_LOGMESSAGE_FILE_LOCATION
    HSV_DISABLE_SMARTVIEW_IN_OUTLOOK
    HSV_DISPLAY_SMARTVIEW_SHORTCUT_MENU_ONLY
    HSV_DISPLAY_DRILL_THROUGH_REPORT_TOOLTIP
    HSV_SHOW_PROGRESSINFORMATION
    HSV_PROGRESSINFO_TIMEDELAY
    HSV_ENABLE_PROFILING
    End Enum

    DIMENSION_TYPE Enumeration
    ROW_DIM = 0
    COL = 1
    POV = 2
    PAGE = 3
    USERVAR = 5
    End Enum

    "This method is for the 64-bit version of Microsoft office.
    #If VBA7 then

    '**************************************************************************
    "The functions in the menu.
    '**************************************************************************

    Public declare function HypMenuVAbout Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVAdjust Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVBusinessRules Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVCalculation Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVCellText Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVCollapse Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVConnect Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVCopyDataPoints Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVExpand Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVFunctionBuilder Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVInstruction Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVKeepOnly Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVMemberSelection Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVOptions Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVPasteDataPoints Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVPivot Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVPOVManager Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVQueryDesigner Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVRedo Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVRefresh Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVRefreshAll Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVRefreshOfflineDefinition Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVRemoveOnly Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVRulesOnForm Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVRunReport Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVSelectForm Lib "HsAddin" () PtrSafe as long
    Public Declare PtrSafe Function HypMenuVShowHelpHtml Lib "HsAddin" (ByVal vtHelpPage As Variant) As Long
    Public declare function HypMenuVSubmitData Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVSupportingDetails Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVSyncBack Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVTakeOffline Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVUndo Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVVisualizeinExcel Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVZoomIn Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVZoomOut Lib "HsAddin" () PtrSafe as long
    Public Declare PtrSafe Function HypMenuVMigrate Lib "HsAddin" (ByVal vtOption As Variant, ByRef vtOutput As Variant) As Long
    Public declare function HypMenuVLRO Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVCascadeSameWorkbook Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVCascadeNewWorkbook Lib "HsAddin" () PtrSafe as long
    Public declare function HypMenuVMemberInformation Lib "HsAddin" () PtrSafe as long
    Public Declare PtrSafe Function HypExecuteMenu Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMenuName As Variant) As Long
    Public Declare PtrSafe Function HypHideRibbonMenu Lib "HsAddin" (ByVal vtSheetName As Variant _
    ParamArray vtMenus() As Variant) As Long
    Public Declare PtrSafe Function HypHideRibbonMenuReset Lib "HsAddin" (ByVal vtSheetName As Variant) As Long

    '**************************************************************************
    "General functions.
    '**************************************************************************

    Public Declare PtrSafe Function HypCopyMetaData Lib "HsAddin" (ByVal vtSourceSheetName As Variant _
    ByVal vtDestinationSheetName As Variant) As Long

    Public Declare PtrSafe Function HypDeleteMetaData Lib "HsAddin" (ByVal vtDispObject As Variant _
    ByVal vtbWorkbook As Variant _
    ByVal vtbClearMetadataOnAllSheetsWithinWorkbook As Variant) As Long

    Public Declare PtrSafe Function HypGetSubstitutionVariable Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtApplicationName As Variant _
    ByVal vtDatabaseName As Variant _
    ByVal vtVariableName As Variant _
    ByRef vtVariableNames As Variant _
    ByRef vtVariableValues As Variant) As Long

    Public Declare PtrSafe Function HypIsDataModified Lib "HsAddin" (ByVal vtSheetName As Variant) As Boolean

    Public Declare PtrSafe Function HypIsFreeForm Lib "HsAddin" (ByVal vtSheetName As Variant) As Boolean

    Public Declare PtrSafe Function HypIsSmartViewContentPresent Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByRef vtTypeOfContentsInSheet As TYPE_OF_CONTENTS_IN_SHEET) As Boolean

    Public Declare PtrSafe Function HypPreserveFormatting Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant) As Long

    Public Declare PtrSafe Function HypRedo Lib "HsAddin" (ByVal vtSheetName As Variant) As Long

    Public Declare PtrSafe Function HypRemovePreservedFormats Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtbRemoveAllCapturedFormats As Variant _
    ByVal vtSelectionRange As Variant) As Long

    Public Declare PtrSafe Function HypSetAliasTable Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtAliasTableName As Variant) As Long

    Public Declare PtrSafe Function HypSetMenu Lib "HsAddin" (ByVal bSetMenu As Boolean) As Long

    Public Declare PtrSafe Function HypShowPov Lib "HsAddin" (ByVal bShowPov As Boolean) As Long

    Public Declare PtrSafe Function HypSetSubstitutionVariable Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtApplicationName As Variant _
    ByVal vtDatabaseName As Variant _
    ByVal vtVariableName As Variant _
    ByVal vtVariableValue As Variant) As Long

    Public Declare PtrSafe Function HypUndo Lib "HsAddin" (ByVal vtSheetName As Variant) As Long

    Public Declare PtrSafe Function HypShowPanel Lib "HsAddin" (ByVal bShow As Boolean) As Long

    Public Declare PtrSafe Function HypGetLastError Lib "HsAddin" (ByRef vtErrorCode As Variant, vtErrorMessage As Variant ByRef, ByRef vtErrorDescription As Variant) As Long

    Public Declare PtrSafe Function HypGetVersion Lib "HsAddin" (ByVal _ As Variant vtID
    ByRef vtValueList As Variant, ByVal vtVersionInfoFileCommand As Variant) As Long

    Public Declare PtrSafe Function HypGetDatabaseNote Lib "HsAddin" (ByVal vtSheetName As Variant, ByRef vtDBNote As Variant) As Long

    '**************************************************************************
    "Functions of connection."
    '**************************************************************************

    Public Declare PtrSafe Function HypConnect Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtUserName As Variant _
    ByVal vtPassword As Variant _
    ByVal vtFriendlyName As Variant) As Long

    Public Declare PtrSafe Function HypUIConnect Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtUserName As Variant _
    ByVal vtPassword As Variant _
    ByVal vtFriendlyName As Variant) As Long

    Public Declare PtrSafe Function HypConnected Lib "HsAddin" (ByVal vtSheetName As Variant) As Variant

    Public Declare PtrSafe Function HypConnectionExists Lib "HsAddin" (ByVal vtFriendlyName As Variant) As Variant

    Public Declare PtrSafe Function HypCreateConnection Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtUserName As Variant _
    ByVal vtPassword As Variant _
    ByVal vtProvider As Variant _
    ByVal vtProviderURL As Variant _
    ByVal vtServerName As Variant _
    ByVal vtApplicationName As Variant _
    ByVal vtDatabaseName As Variant _
    ByVal vtFriendlyName As Variant _
    ByVal vtDescription As Variant) As Long
                                                              
    Public Declare PtrSafe Function HypCreateConnectionEx Lib "HsAddin" (ByVal vtProviderType As Variant _
    ByVal vtServerName As Variant _
    ByVal vtApplicationName As Variant _
    ByVal vtDatabaseName As Variant _
    ByVal vtFormName As Variant _
    ByVal vtProviderURL As Variant _
    ByVal vtFriendlyName As Variant _
    ByVal vtUserName As Variant _
    ByVal vtPassword As Variant _
    ByVal vtDescription As Variant _
    ByVal vtReserved1 As Variant _
    ByVal vtReserved2 As Variant) As Long

    Public Declare PtrSafe Function HypDisconnect Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal bLogoutUser As Boolean) As Long

    Public declare function HypDisconnectAll Lib "HsAddin" () PtrSafe as long

    Public Declare PtrSafe Function HypDisconnectEx Lib "HsAddin" (ByVal vtFriendlyName As Variant) As Long

    Public Declare PtrSafe Function HypGetSharedConnectionsURL Lib "HsAddin" (ByRef vtSharedConnURL As Variant) As Long

    Public declare function HypInvalidateSSO Lib "HsAddin" () PtrSafe as long

    Public declare function HypIsConnectedToSharedConnections Lib "HsAddin" () as Variant PtrSafe

    Public Declare PtrSafe Function HypRemoveConnection Lib "HsAddin" (ByVal vtFriendlyName As Variant) As Long

    Public Declare PtrSafe Function HypResetFriendlyName Lib "HsAddin" (ByVal vtOldFriendlyName As Variant _
    ByVal vtNewFriendlyName As Variant) As Long

    Public Declare PtrSafe Function HypSetActiveConnection Lib "HsAddin" (ByVal vtFriendlyName As Variant) As Long

    Public Declare PtrSafe Function HypSetAsDefault Lib "HsAddin" (ByVal vtFriendlyName As Variant) As Long

    Public Declare PtrSafe Function HypSetConnAliasTable Lib "HsAddin" (ByVal vtFriendlyName As Variant _
    ByVal vtAliasTableName As Variant) As Long

    Public Declare PtrSafe Function HypSetSharedConnectionsURL Lib "HsAddin" (ByVal vtSharedConnURL As Variant) As Long

    '**************************************************************************
    'Ad Hoc functions
    '**************************************************************************

    Public Declare PtrSafe Function HypExecuteQuery Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMDXQuery As Variant) As Long

    Public Declare PtrSafe Function HypKeepOnly Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelection As Variant) As Long

    Public Declare PtrSafe Function HypPivot Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtStart As Variant _
    ByVal vtEnd As Variant) As Long
                                                   
    Public Declare PtrSafe Function HypPivotToGrid Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByVal vtSelection As Variant) As Long

    Public Declare PtrSafe Function HypPivotToPOV Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelection As Variant) As Long

    Public Declare PtrSafe Function HypRemoveOnly Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelection As Variant) As Long

    Public Declare PtrSafe Function HypRetrieve Lib "HsAddin" (ByVal vtSheetName As Variant) As Long

    Public Declare PtrSafe Function HypRetrieveRange Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant _
    ByVal vtFriendlyName As Variant) As Long

    Public Declare PtrSafe Function HypRetrieveNameRange Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtGridName As Variant) As Long

    Public Declare PtrSafe Function HypGetNameRangeList Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtFriendlyName As Variant _
    ByRef vtNameList As Variant) As Long

    Public declare function HypRetrieveAllWorkbooks Lib "HsAddin" () PtrSafe as long

    Public Declare PtrSafe Function HypSubmitData Lib "HsAddin" (ByVal vtSheetName As Variant) As Long

    Public Declare PtrSafe Function HypZoomIn Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelection As Variant _
    ByVal vtLevel As Variant _
    ByVal vtAcross As Variant) As Long

    Public Declare PtrSafe Function HypZoomOut Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelection As Variant) As Long

    Public Declare PtrSafe Function HypPerformAdhocOnForm Lib "HsAddin" (ByVal vtSheetName As Variant, ByVal vtFormName As Variant) As Long

    '**************************************************************************
    "Train functions.
    '**************************************************************************

    Public Declare PtrSafe Function HypOpenForm Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtFolderPath As Variant _
    ByVal vtFormName As Variant _
    ByRef vtDimensionList() As Variant _
    ByRef vtMemberList() As Variant) As Long

    '**************************************************************************
    'Functions of the cells.
    '**************************************************************************

    Type LRO_Info
    lNumLRO As Long
    lNumDim As Long
    LROList as Variant
    End type

    Public Declare PtrSafe Function HypCell Lib "HsAddin" (ByVal vtSheetName As Variant _
    ParamArray MemberList() as Variant) as Variant

    Public Declare PtrSafe Function HypFreeDataPoint Lib "HsAddin" (ByRef vtInfo As Variant) As Long

    Public Declare PtrSafe Function HypGetCellRangeForMbrCombination Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByRef vtDimNames() As Variant _
    ByRef vtMbrNames() As Variant _
    ByRef vtCellIntersectionRange As Variant) As Long

    Public Declare PtrSafe Function HypGetDataPoint Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtCell As Variant) As Variant

    Public Declare PtrSafe Function HypGetDimMbrsForDataCell Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtCellRange As Variant _
    ByRef vtServerName As Variant _
    ByRef vtAppName As Variant _
    ByRef vtCubeName As Variant _
    ByRef vtFormName As Variant _
    ByRef vtDimensionNames As Variant _
    ByRef vtMemberNames As Variant) As Long

    Public Declare PtrSafe Function HypIsCellWritable Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtCellRange As Variant) As Boolean

    Public Declare PtrSafe Function HypSetCellsDirty Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare PtrSafe Function HypDeleteAllLROs Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant) As Long

    Public Declare PtrSafe Function HypDeleteLROs Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    ByRef vtLROIDs() As Variant) As Long

    Public Declare PtrSafe Function HypAddLRO Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    ByVal vtlType As Variant _
    ByVal vtName As Variant _
    ByVal vtDescription As Variant) As Long

    Public Declare PtrSafe Function HypUpdateLRO Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    VtID As Variant, _ ByVal
    ByVal vtlType As Variant _
    ByVal vtName As Variant _
    ByVal vtDescription As Variant) As Long

    Public Declare PtrSafe Function HypListLROs Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    ByRef vtID As LRO_Info) As Long

    Public Declare PtrSafe Function HypRetrieveLRO Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    VtID As Variant, _ ByVal
    ByRef vtName As Variant _
    ByRef vtDescription As Variant) As Long

    Public Declare PtrSafe Function HypGetDrillThroughReports Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    ByRef vtIDs As Variant _
    ByRef vtNames As Variant _
    ByRef vtURLs As Variant _
    ByRef vtURLTemplates As Variant _
    ByRef vtTypes As Variant) As Long
                                                         
                                                         
    Public Declare PtrSafe Function HypExecuteDrillThroughReport Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    VtID As Variant, _ ByVal
    ByVal vtName As Variant _
    ByVal vtURL As Variant _
    ByVal vtURLTemplate As Variant _
    ByVal vtType As Variant) As Long

    '**************************************************************************
    'Functions POV.
    '**************************************************************************

    Public Declare PtrSafe Function HypGetPagePOVChoices Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByRef vtMbrNameChoices As Variant _
    ByRef vtMbrDescChoices As Variant) As Long

    Public Declare PtrSafe Function HypSetBackgroundPOV Lib "HsAddin" (ByVal vtFriendlyName As Variant _
    ParamArray MemberList() as Variant) as long

    Public Declare PtrSafe Function HypSetPages Lib "HsAddin" (ByVal vtSheetName As Variant _
    ParamArray MemberList() as Variant) as long

    Public Declare PtrSafe Function HypSetPOV Lib "HsAddin" (ByVal vtSheetName As Variant _
    ParamArray MemberList() as Variant) as long

    Public Declare PtrSafe Function HypSetMembers Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ParamArray MemberList() as Variant) as long
    Public Declare Function HypGetPOV Lib "HsAddin" (ByVal vtSheetName _ PtrSafe
    ByRef vtDimensionNames As Variant _
    ByRef vtMemberNames As Variant, ByRef vtType As Variant) As Long
    Public Declare PtrSafe Function HypGetDimensions Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByRef vtMemberNames As Variant, ByRef vtType As Variant) As Long
    Public Declare PtrSafe Function HypGetMembers Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByRef vtMbrNameChoices As Variant _
    ByRef vtMbrDescChoices As Variant) As Long
                                                               
    Public Declare PtrSafe Function HypSetDimensions Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByRef vtDimNames() As Variant _
    ByRef vtTypes() As Variant) As Long

    Public Declare PtrSafe Function HypGetBackgroundPOV Lib "HsAddin" (ByVal vtFriendlyName As Variant _
    ByRef vtDimensionNames As Variant _
    ByRef vtMemberNames As Variant) As Long
          
    Public Declare PtrSafe Function HypGetActiveMember Lib "HsAddin" (ByVal vtDimName As Variant _
    ByRef vtMember As Variant) As Long
          
    Public Declare PtrSafe Function HypSetActiveMember Lib "HsAddin" (ByVal vtDimName As Variant _
    ByVal vtMember As Variant) As Long

    '**************************************************************************
    "Calculation script / functions of business rule.
    '**************************************************************************

    Public Declare PtrSafe Function HypDeleteCalc Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtApplicationName As Variant _
    ByVal vtDatabaseName As Variant _
    ByVal vtCalcScript As Variant) As Long

    Public Declare PtrSafe Function HypExecuteCalcScript Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtCalcScript As Variant _
    ByVal vtSynchronous As Variant) As Long
                                                                   
    Public Declare PtrSafe Function HypExecuteCalcScriptEx Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtCubeName As Variant _
    ByVal vtBRName As Variant _
    ByVal vtBRType As Variant _
    ByVal vtbBRHasPrompts As Variant _
    ByVal vtbBRNeedPageInfo As Variant _
    ByRef vtRTPNames() As Variant _
    ByRef vtRTPValues() As Variant _
    ByVal vtbShowRTPDlg As Variant _
    ByVal vtbRuleOnForm As Variant _
    ByRef vtBRRanSuccessfully As Variant _
    ByRef vtCubeName As Variant _
    ByRef vtBRName As Variant _
    ByRef vtBRType As Variant _
    ByRef vtbBRHasPrompts As Variant _
    ByRef vtbBRNeedPageInfo As Variant _
    ByRef vtbBRHidePrompts As Variant _
    ByRef vtRTPNamesUsed As Variant _
    ByRef vtRTPValuesUsed As Variant) As Long

    Public Declare PtrSafe Function HypListCalcScripts Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByRef scriptArray As Variant) As Long

    Public Declare PtrSafe Function HypListCalcScriptsEx Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtbRuleOnForm As Variant _
    ByRef vtCubeNames As Variant _
    ByRef vtBRNames As Variant _
    ByRef vtBRTypes As Variant _
    ByRef vtBRHasPrompts As Variant _
    ByRef vtBRNeedsPageInfo As Variant _
    ByRef vtBRHidePrompts As Variant) As Long

    '**************************************************************************
    ' Calculate / consolidate / definition of functions.
    '**************************************************************************

    Public Declare PtrSafe Function HypCalculate Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare PtrSafe Function HypCalculateContribution Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare PtrSafe Function HypConsolidate Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare PtrSafe Function HypConsolidateAll Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare PtrSafe Function HypConsolidateAllWithData Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare PtrSafe Function HypForceCalculate Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare PtrSafe Function HypForceCalculateContribution Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare PtrSafe Function HypForceTranslate Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare PtrSafe Function HypTranslate Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    '**************************************************************************
    'The functions of request of members.
    '**************************************************************************

    Public Declare PtrSafe Function HypFindMember Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtAliasTable As Variant _
    ByRef vtDimensionName As Variant _
    ByRef vtAliasName As Variant _
    ByRef vtGenerationName As Variant _
    ByRef vtLevelName As Variant) As Long

    Public Declare PtrSafe Function HypFindMemberEx Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtAliasTable As Variant _
    ByRef vtDimensionName As Variant _
    ByRef vtAliasName As Variant _
    ByRef vtGenerationName As Variant _
    ByRef vtLevelName As Variant) As Long

    Public Declare PtrSafe Function HypGetAncestor Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtLayerType As Variant _
    ByVal intLayerNumber As Integer _
    ByRef vtAncestor As Variant) As Long

    Public Declare PtrSafe Function HypGetChildren Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal intChildCount As Integer _
    ByRef vtChildNameArray As Variant) As Long

    Public Declare PtrSafe Function HypGetParent Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByRef vtParentName As Variant) As Long

    Public Declare PtrSafe Function HypIsAttribute Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtUDAString As Variant) As Variant

    Public Declare PtrSafe Function HypIsDescendant Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtDescendantName As Variant) As Boolean

    Public Declare PtrSafe Function HypIsAncestor Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtAncestorName As Variant) As Variant

    Public Declare PtrSafe Function HypIsExpense Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByVal vtMemberName As Variant) As Variant

    Public Declare PtrSafe Function HypIsParent Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal ParentName As Variant) to Boolean

    Public Declare PtrSafe Function HypIsChild Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtParentName As Variant _
    ByVal vtChildName As Variant) As Variant

    Public Declare PtrSafe Function HypIsUDA Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtUDAString As Variant) As Variant

    Public Declare PtrSafe Function HypOtlGetMemberInfo Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtPredicate As Variant _
    ByRef vtMemberArray As Variant) As Long

    Public Declare PtrSafe Function HypQueryMembers Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtPredicate As Variant _
    ByVal vtOption As Variant _
    ByVal vtDimensionName As Variant _
    ByVal vtInput1 As Variant _
    ByVal vtInput2 As Variant _
    ByRef vtMemberArray As Variant) As Long

    Public Declare PtrSafe Function HypGetMemberInformation Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtPropertyName As Variant _
    ByRef vtPropertyValue As Variant _
    ByRef vtPropertyValueStrings As Variant) As Long

    Public Declare PtrSafe Function HypGetMemberInformationEx Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByRef vtPropertyNames As Variant _
    ByRef vtPropertyValues As Variant _
    ByRef vtPropertyValueStrings As Variant) As Long

    '**************************************************************************
    ' Option functions
    '**************************************************************************

    Public Declare PtrSafe Function HypGetGlobalOption Lib "HsAddin" (ByVal vtItem As Long) As Variant

    Public Declare PtrSafe Function HypGetSheetOption Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtItem As Variant) As Variant

    Public Declare PtrSafe Function HypGetOption Lib "HsAddin" (ByVal vtItem As Variant, ByRef vtRet As Variant, ByVal vtSheetName As Variant) As Long

    Public Declare PtrSafe Function HypSetGlobalOption Lib "HsAddin" (ByVal vtItem As Long _
    ByVal vtGlobalOption As Variant) As Long

    Public Declare PtrSafe Function HypSetSheetOption Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtItem As Variant _
    ByVal vtOption As Variant) As Long

    Public Declare PtrSafe Function HypSetOption Lib "HsAddin" (ByVal vtItem As Variant _
    ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long

    Public declare function HypDeleteAllMRUItems Lib "HsAddin" () PtrSafe as long

    '**************************************************************************
    'Functions of dynamic Link.
    '**************************************************************************

    Public Declare PtrSafe Function HypDisplayToLinkView Lib "HsAddin" (ByVal vtDocumentType As Variant _
    ByVal vtDocumentPath As Variant) As Long

    Public declare function HypGetColCount Lib "HsAddin" () PtrSafe as long

    Public Declare PtrSafe Function HypGetColItems Lib "HsAddin" (ByVal vtColID As Variant _
    ByRef vtDimensionName As Variant _
    ByRef vtMemberNames As Variant) As Long

    Public Declare PtrSafe Function HypGetConnectionInfo Lib "HsAddin" (ByRef vtServerName As Variant _
    ByRef vtUserName As Variant _
    ByRef vtPassword As Variant _
    ByRef vtApplicationName As Variant _
    ByRef vtDatabaseName As Variant _
    ByRef vtFriendlyName As Variant _
    ByRef vtURL As Variant _
    ByRef vtProviderType As Variant) As Long

    Public Declare PtrSafe Function HypGetLinkMacro Lib "HsAddin" (ByRef vtMacroName As Variant) As Long

    Public declare function HypGetPOVCount Lib "HsAddin" () PtrSafe as long

    Public Declare PtrSafe Function HypGetPOVItems Lib "HsAddin" (ByRef vtDimensionNames As Variant _
    ByRef vtPOVNames As Variant) As Long

    Public declare function HypGetRowCount Lib "HsAddin" () PtrSafe as long

    Public Declare PtrSafe Function HypGetRowItems Lib "HsAddin" (ByVal rowID As Variant _
    ByRef vtDimensionName As Variant _
    ByRef vtMemberNames As Variant) As Long

    Public Declare PtrSafe Function HypGetSourceGrid Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByRef vtGrid As Variant) As Long

    Public Declare PtrSafe Function HypSetColItems Lib "HsAddin" (ByVal vtColID As Variant _
    ByVal vtDimensionName As Variant _
    ParamArray MemberList() as Variant) as long

    Public Declare PtrSafe Function HypSetConnectionInfo Lib "HsAddin" (ByVal vtServerName As Variant _
    ByVal vtUserName As Variant _
    ByVal vtPassword As Variant _
    ByVal vtApplicationName As Variant _
    ByVal vtDatabaseName As Variant _
    ByVal vtFriendlyName As Variant _
    ByVal vtURL As Variant _
    ByVal vtProviderType As Variant) As Long

    Public Declare PtrSafe Function HypSetLinkMacro Lib "HsAddin" (ByVal vtMacroName As Variant) As Long

    Public Declare PtrSafe Function HypSetPOVItems Lib "HsAddin" (ParamArray MemberList() as an alternative) as long

    Public Declare PtrSafe Function HypSetRowItems Lib "HsAddin" (ByVal vtRowID As Variant _
    ByVal vtDimensionName As Variant _
    ParamArray MemberList() as Variant) as long

    Public Declare PtrSafe Function HypUseLinkMacro Lib "HsAddin" (ByVal nozzle As Boolean) As Long

    '**************************************************************************
    "Deprecated functions
    '**************************************************************************

    Public Declare PtrSafe Function HypCaptureFormatting Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant) As Long

    Public Declare PtrSafe Function HypRemoveCapturedFormats Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtbRemoveAllCapturedFormats As Variant _
    ByVal vtSelectionRange As Variant) As Long

    Public declare function HypConnectToAPS Lib "HsAddin" () PtrSafe as long

    Public declare function HypDisconnectFromAPS Lib "HsAddin" () PtrSafe as long

    Public Declare PtrSafe Function HypGetCurrentAPSURL Lib "HsAddin" (ByRef vtAPSURL As Variant) As Long

    Public Declare PtrSafe Function HypGetOverrideFlag Lib "HsAddin" (ByRef vtOverride As Boolean) As Long

    Public declare function HypIsConnectedToAPS Lib "HsAddin" () PtrSafe as long

    Public Declare PtrSafe Function HypMigrateConnectionToDataSourceMgr Lib "HsAddin" (ByVal vtFriendlyName As Variant) As Long

    Public Declare PtrSafe Function HypSetCurrentUserAPSURL Lib "HsAddin" (ByVal vtAPSURL As Variant) As Long

    Public Declare PtrSafe Function HypSetOverrideFlag Lib "HsAddin" (ByVal vtOverride As Boolean) As Long

    Public declare function HypMenuVVisualizeinHVE Lib "HsAddin" () PtrSafe as long

    '**************************************************************************
    '**************************************************************************

    '**************************************************************************
    "ADVANCED MDX QUERY SECTION.
    '**************************************************************************

    '**************************************************************************
    "Type statements."
    '**************************************************************************

    Type MDX_CELL
    CellValue As Double
    CellStatus As Long
    End type

    Type MDX_PROPERTY
    PropertyName as Variant
    PropertyValue as Variant
    PropertyType as Variant
    End type

    Type MDX_MEMBER
    MemberName as Variant
    NumClusters As Long
    NumProps As Long
    PropInfo() as MDX_PROPERTY
    End type

    Type MDX_DIMENSION
    Nomdimension as Variant
    NumProps As Long
    NumMembers As Long
    PropsInfo() as MDX_PROPERTY
    MemberInfo() as MDX_MEMBER
    End type

    Type MDX_CLUSTER
    DimensionInfo() as MDX_DIMENSION
    TupleCount As Long
    End type

    Type MDX_AXIS
    DimensionsCount As Long
    TuplesCount As Long
    ClustersCount As Long
    DimensionInfo() as MDX_DIMENSION
    ClusterInfo() as MDX_CLUSTER
    End type

    Type MDX_AXES_NATIVE
    AxisCount As Long
    That as long
    AxisInfo as Variant
    CellInfo as Variant
    End type

    Type MDX_AXES
    AxisCount As Long
    That as long
    AxisInfo() as MDX_AXIS
    CellInfo() as MDX_CELL
    End type

    '**************************************************************************
    ' Function in MDX query
    '**************************************************************************

    Public Declare PtrSafe Function HypExecuteMDXEx Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtQuery As Variant _
    ByVal vtBoolHideData As Variant _
    ByVal vtBoolDataLess As Variant _
    ByVal vtBoolNeedStatus As Variant _
    ByVal vtMbrIDType As Variant _
    ByVal vtAliasTable As Variant _
    ByRef outResult As MDX_AXES_NATIVE) As Long ' Essbase

    "For the 32-bit version of Microsoft office
    #Else

    '**************************************************************************
    "The functions in the menu.
    '**************************************************************************

    Public Declare Function HypMenuVAbout Lib "HsAddin" () As Long
    Public Declare Function HypMenuVAdjust Lib "HsAddin" () As Long
    Public Declare Function HypMenuVBusinessRules Lib "HsAddin" () As Long
    Public Declare Function HypMenuVCalculation Lib "HsAddin" () As Long
    Public Declare Function HypMenuVCellText Lib "HsAddin" () As Long
    Public Declare Function HypMenuVCollapse Lib "HsAddin" () As Long
    Public Declare Function HypMenuVConnect Lib "HsAddin" () As Long
    Public Declare Function HypMenuVCopyDataPoints Lib "HsAddin" () As Long
    Public Declare Function HypMenuVExpand Lib "HsAddin" () As Long
    Public Declare Function HypMenuVFunctionBuilder Lib "HsAddin" () As Long
    Public Declare Function HypMenuVInstruction Lib "HsAddin" () As Long
    Public Declare Function HypMenuVKeepOnly Lib "HsAddin" () As Long
    Public Declare Function HypMenuVMemberSelection Lib "HsAddin" () As Long
    Public Declare Function HypMenuVOptions Lib "HsAddin" () As Long
    Public Declare Function HypMenuVPasteDataPoints Lib "HsAddin" () As Long
    Public Declare Function HypMenuVPivot Lib "HsAddin" () As Long
    Public Declare Function HypMenuVPOVManager Lib "HsAddin" () As Long
    Public Declare Function HypMenuVQueryDesigner Lib "HsAddin" () As Long
    Public Declare Function HypMenuVRedo Lib "HsAddin" () As Long
    Public Declare Function HypMenuVRefresh Lib "HsAddin" () As Long
    Public Declare Function HypMenuVRefreshAll Lib "HsAddin" () As Long
    Public Declare Function HypMenuVRefreshOfflineDefinition Lib "HsAddin" () As Long
    Public Declare Function HypMenuVRemoveOnly Lib "HsAddin" () As Long
    Public Declare Function HypMenuVRulesOnForm Lib "HsAddin" () As Long
    Public Declare Function HypMenuVRunReport Lib "HsAddin" () As Long
    Public Declare Function HypMenuVSelectForm Lib "HsAddin" () As Long
    Public Declare Function HypMenuVShowHelpHtml Lib "HsAddin" (ByVal vtHelpPage As Variant) As Long
    Public Declare Function HypMenuVSubmitData Lib "HsAddin" () As Long
    Public Declare Function HypMenuVSupportingDetails Lib "HsAddin" () As Long
    Public Declare Function HypMenuVSyncBack Lib "HsAddin" () As Long
    Public Declare Function HypMenuVTakeOffline Lib "HsAddin" () As Long
    Public Declare Function HypMenuVUndo Lib "HsAddin" () As Long
    Public Declare Function HypMenuVVisualizeinExcel Lib "HsAddin" () As Long
    Public Declare Function HypMenuVZoomIn Lib "HsAddin" () As Long
    Public Declare Function HypMenuVZoomOut Lib "HsAddin" () As Long
    Public Declare Function HypMenuVMigrate Lib "HsAddin" (ByVal vtOption As Variant, ByRef vtOutput As Variant) As Long
    Public Declare Function HypMenuVLRO Lib "HsAddin" () As Long
    Public Declare Function HypMenuVCascadeSameWorkbook Lib "HsAddin" () As Long
    Public Declare Function HypMenuVCascadeNewWorkbook Lib "HsAddin" () As Long
    Public Declare Function HypMenuVMemberInformation Lib "HsAddin" () As Long
    Public Declare Function HypExecuteMenu Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMenuName As Variant) As Long
    Public Declare Function HypHideRibbonMenu Lib "HsAddin" (ByVal vtSheetName As Variant _
    ParamArray vtMenus() As Variant) As Long
    Public Declare Function HypHideRibbonMenuReset Lib "HsAddin" (ByVal vtSheetName As Variant) As Long

    '**************************************************************************
    "General functions.
    '**************************************************************************

    Public Declare Function HypCopyMetaData Lib "HsAddin" (ByVal vtSourceSheetName As Variant _
    ByVal vtDestinationSheetName As Variant) As Long

    Public Declare Function HypDeleteMetaData Lib "HsAddin" (ByVal vtDispObject As Variant _
    ByVal vtbWorkbook As Variant _
    ByVal vtbClearMetadataOnAllSheetsWithinWorkbook As Variant) As Long

    Public Declare Function HypGetSubstitutionVariable Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtApplicationName As Variant _
    ByVal vtDatabaseName As Variant _
    ByVal vtVariableName As Variant _
    ByRef vtVariableNames As Variant _
    ByRef vtVariableValues As Variant) As Long

    Public Declare Function HypIsDataModified Lib "HsAddin" (ByVal vtSheetName As Variant) As Boolean

    Public Declare Function HypIsFreeForm Lib "HsAddin" (ByVal vtSheetName As Variant) As Boolean

    Public Declare Function HypIsSmartViewContentPresent Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByRef vtTypeOfContentsInSheet As TYPE_OF_CONTENTS_IN_SHEET) As Boolean

    Public Declare Function HypPreserveFormatting Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant) As Long

    Public Declare Function HypRedo Lib "HsAddin" (ByVal vtSheetName As Variant) As Long

    Public Declare Function HypRemovePreservedFormats Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtbRemoveAllCapturedFormats As Variant _
    ByVal vtSelectionRange As Variant) As Long

    Public Declare Function HypSetAliasTable Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtAliasTableName As Variant) As Long

    Public Declare Function HypSetMenu Lib "HsAddin" (ByVal bSetMenu As Boolean) As Long

    Public Declare Function HypShowPov Lib "HsAddin" (ByVal bShowPov As Boolean) As Long

    Public Declare Function HypSetSubstitutionVariable Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtApplicationName As Variant _
    ByVal vtDatabaseName As Variant _
    ByVal vtVariableName As Variant _
    ByVal vtVariableValue As Variant) As Long

    Public Declare Function HypUndo Lib "HsAddin" (ByVal vtSheetName As Variant) As Long

    Public Declare Function HypShowPanel Lib "HsAddin" (ByVal bShow As Boolean) As Long

    Public Declare Function HypGetLastError Lib "HsAddin" (ByRef vtErrorCode As Variant, vtErrorMessage As Variant ByRef, ByRef vtErrorDescription As Variant) As Long

    Public Declare Function HypGetVersion Lib "HsAddin" (ByVal _ As Variant vtID
    ByRef vtValueList As Variant, ByVal vtVersionInfoFileCommand As Variant) As Long

    Public Declare Function HypGetDatabaseNote Lib "HsAddin" (ByVal vtSheetName As Variant, ByRef vtDBNote As Variant) As Long

    '**************************************************************************
    "Functions of connection."
    '**************************************************************************

    Public Declare Function HypConnect Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtUserName As Variant _
    ByVal vtPassword As Variant _
    ByVal vtFriendlyName As Variant) As Long

    Public Declare Function HypUIConnect Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtUserName As Variant _
    ByVal vtPassword As Variant _
    ByVal vtFriendlyName As Variant) As Long

    Public Declare Function HypConnected Lib "HsAddin" (ByVal vtSheetName As Variant) As Variant

    Public Declare Function HypConnectionExists Lib "HsAddin" (ByVal vtFriendlyName As Variant) As Variant

    Public Declare Function HypCreateConnection Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtUserName As Variant _
    ByVal vtPassword As Variant _
    ByVal vtProvider As Variant _
    ByVal vtProviderURL As Variant _
    ByVal vtServerName As Variant _
    ByVal vtApplicationName As Variant _
    ByVal vtDatabaseName As Variant _
    ByVal vtFriendlyName As Variant _
    ByVal vtDescription As Variant) As Long
                                                              
    Public Declare Function HypCreateConnectionEx Lib "HsAddin" (ByVal vtProviderType As Variant _
    ByVal vtServerName As Variant _
    ByVal vtApplicationName As Variant _
    ByVal vtDatabaseName As Variant _
    ByVal vtFormName As Variant _
    ByVal vtProviderURL As Variant _
    ByVal vtFriendlyName As Variant _
    ByVal vtUserName As Variant _
    ByVal vtPassword As Variant _
    ByVal vtDescription As Variant _
    ByVal vtReserved1 As Variant _
    ByVal vtReserved2 As Variant) As Long

    Public Declare Function HypDisconnect Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal bLogoutUser As Boolean) As Long

    Public Declare Function HypDisconnectAll Lib "HsAddin" () As Long

    Public Declare Function HypDisconnectEx Lib "HsAddin" (ByVal vtFriendlyName As Variant) As Long

    Public Declare Function HypGetSharedConnectionsURL Lib "HsAddin" (ByRef vtSharedConnURL As Variant) As Long

    Public Declare Function HypInvalidateSSO Lib "HsAddin" () As Long

    Public Declare Function HypIsConnectedToSharedConnections Lib "HsAddin" () as Variant

    Public Declare Function HypRemoveConnection Lib "HsAddin" (ByVal vtFriendlyName As Variant) As Long

    Public Declare Function HypResetFriendlyName Lib "HsAddin" (ByVal vtOldFriendlyName As Variant _
    ByVal vtNewFriendlyName As Variant) As Long

    Public Declare Function HypSetActiveConnection Lib "HsAddin" (ByVal vtFriendlyName As Variant) As Long

    Public Declare Function HypSetAsDefault Lib "HsAddin" (ByVal vtFriendlyName As Variant) As Long

    Public Declare Function HypSetConnAliasTable Lib "HsAddin" (ByVal vtFriendlyName As Variant _
    ByVal vtAliasTableName As Variant) As Long

    Public Declare Function HypSetSharedConnectionsURL Lib "HsAddin" (ByVal vtSharedConnURL As Variant) As Long

    '**************************************************************************
    'Ad Hoc functions
    '**************************************************************************

    Public Declare Function HypExecuteQuery Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMDXQuery As Variant) As Long

    Public Declare Function HypKeepOnly Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelection As Variant) As Long

    Public Declare Function HypPivot Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtStart As Variant _
    ByVal vtEnd As Variant) As Long
                                                   
    Public Declare Function HypPivotToGrid Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByVal vtSelection As Variant) As Long

    Public Declare Function HypPivotToPOV Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelection As Variant) As Long

    Public Declare Function HypRemoveOnly Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelection As Variant) As Long

    Public Declare Function HypRetrieve Lib "HsAddin" (ByVal vtSheetName As Variant) As Long

    Public Declare Function HypRetrieveRange Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant _
    ByVal vtFriendlyName As Variant) As Long

    Public Declare Function HypRetrieveNameRange Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtGridName As Variant) As Long

    Public Declare Function HypGetNameRangeList Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtFriendlyName As Variant _
    ByRef vtNameList As Variant) As Long

    Public Declare Function HypRetrieveAllWorkbooks Lib "HsAddin" () As Long

    Public Declare Function HypSubmitData Lib "HsAddin" (ByVal vtSheetName As Variant) As Long

    Public Declare Function HypZoomIn Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelection As Variant _
    ByVal vtLevel As Variant _
    ByVal vtAcross As Variant) As Long

    Public Declare Function HypZoomOut Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelection As Variant) As Long

    Public Declare Function HypPerformAdhocOnForm Lib "HsAddin" (ByVal vtSheetName As Variant, ByVal vtFormName As Variant) As Long

    '**************************************************************************
    "Train functions.
    '**************************************************************************

    Public Declare Function HypOpenForm Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtFolderPath As Variant _
    ByVal vtFormName As Variant _
    ByRef vtDimensionList() As Variant _
    ByRef vtMemberList() As Variant) As Long

    '**************************************************************************
    'Functions of the cells.
    '**************************************************************************

    Type LRO_Info
    lNumLRO As Long
    lNumDim As Long
    LROList as Variant
    End type

    Public Declare Function HypCell Lib "HsAddin" (ByVal vtSheetName As Variant _
    ParamArray MemberList() as Variant) as Variant

    Public Declare Function HypFreeDataPoint Lib "HsAddin" (ByRef vtInfo As Variant) As Long

    Public Declare Function HypGetCellRangeForMbrCombination Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByRef vtDimNames() As Variant _
    ByRef vtMbrNames() As Variant _
    ByRef vtCellIntersectionRange As Variant) As Long

    Public Declare Function HypGetDataPoint Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtCell As Variant) As Variant

    Public Declare Function HypGetDimMbrsForDataCell Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtCellRange As Variant _
    ByRef vtServerName As Variant _
    ByRef vtAppName As Variant _
    ByRef vtCubeName As Variant _
    ByRef vtFormName As Variant _
    ByRef vtDimensionNames As Variant _
    ByRef vtMemberNames As Variant) As Long

    Public Declare Function HypIsCellWritable Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtCellRange As Variant) As Boolean

    Public Declare Function HypSetCellsDirty Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare Function HypDeleteAllLROs Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant) As Long

    Public Declare Function HypDeleteLROs Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    ByRef vtLROIDs() As Variant) As Long

    Public Declare Function HypAddLRO Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    ByVal vtlType As Variant _
    ByVal vtName As Variant _
    ByVal vtDescription As Variant) As Long

    Public Declare Function HypUpdateLRO Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    VtID As Variant, _ ByVal
    ByVal vtlType As Variant _
    ByVal vtName As Variant _
    ByVal vtDescription As Variant) As Long

    Public Declare Function HypListLROs Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    ByRef vtID As LRO_Info) As Long

    Public Declare Function HypRetrieveLRO Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    VtID As Variant, _ ByVal
    ByRef vtName As Variant _
    ByRef vtDescription As Variant) As Long

    Public Declare Function HypGetDrillThroughReports Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    ByRef vtIDs As Variant _
    ByRef vtNames As Variant _
    ByRef vtURLs As Variant _
    ByRef vtURLTemplates As Variant _
    ByRef vtTypes As Variant) As Long
                                                         
                                                         
    Public Declare Function HypExecuteDrillThroughReport Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant _
    VtID As Variant, _ ByVal
    ByVal vtName As Variant _
    ByVal vtURL As Variant _
    ByVal vtURLTemplate As Variant _
    ByVal vtType As Variant) As Long

    '**************************************************************************
    'Functions POV.
    '**************************************************************************

    Public Declare Function HypGetPagePOVChoices Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByRef vtMbrNameChoices As Variant _
    ByRef vtMbrDescChoices As Variant) As Long

    Public Declare Function HypSetBackgroundPOV Lib "HsAddin" (ByVal vtFriendlyName As Variant _
    ParamArray MemberList() as Variant) as long

    Public Declare Function HypSetPages Lib "HsAddin" (ByVal vtSheetName As Variant _
    ParamArray MemberList() as Variant) as long

    Public Declare Function HypSetPOV Lib "HsAddin" (ByVal vtSheetName As Variant _
    ParamArray MemberList() as Variant) as long

    Public Declare Function HypSetMembers Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ParamArray MemberList() as Variant) as long
    Public Declare Function HypGetPOV Lib "HsAddin" (ByVal vtSheetName _
    ByRef vtDimensionNames As Variant _
    ByRef vtMemberNames As Variant, ByRef vtType As Variant) As Long
    Public Declare Function HypGetDimensions Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByRef vtMemberNames As Variant, ByRef vtType As Variant) As Long
    Public Declare Function HypGetMembers Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByRef vtMbrNameChoices As Variant _
    ByRef vtMbrDescChoices As Variant) As Long
                                                               
    Public Declare Function HypSetDimensions Lib "HsAddin" (ByVal vtSheetName _
    ByRef vtDimNames() As Variant _
    ByRef vtTypes() As Variant) As Long

    Public Declare Function HypGetBackgroundPOV Lib "HsAddin" (ByVal vtFriendlyName As Variant _
    ByRef vtDimensionNames As Variant _
    ByRef vtMemberNames As Variant) As Long
          
    Public Declare Function HypGetActiveMember Lib "HsAddin" (ByVal vtDimName As Variant _
    ByRef vtMember As Variant) As Long
          
    Public Declare Function HypSetActiveMember Lib "HsAddin" (ByVal vtDimName As Variant _
    ByVal vtMember As Variant) As Long

    '**************************************************************************
    "Calculation script / functions of business rule.
    '**************************************************************************

    Public Declare Function HypDeleteCalc Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtApplicationName As Variant _
    ByVal vtDatabaseName As Variant _
    ByVal vtCalcScript As Variant) As Long

    Public Declare Function HypExecuteCalcScript Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtCalcScript As Variant _
    ByVal vtSynchronous As Variant) As Long
                                                                   
    Public Declare Function HypExecuteCalcScriptEx Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtCubeName As Variant _
    ByVal vtBRName As Variant _
    ByVal vtBRType As Variant _
    ByVal vtbBRHasPrompts As Variant _
    ByVal vtbBRNeedPageInfo As Variant _
    ByRef vtRTPNames() As Variant _
    ByRef vtRTPValues() As Variant _
    ByVal vtbShowRTPDlg As Variant _
    ByVal vtbRuleOnForm As Variant _
    ByRef vtBRRanSuccessfully As Variant _
    ByRef vtCubeName As Variant _
    ByRef vtBRName As Variant _
    ByRef vtBRType As Variant _
    ByRef vtbBRHasPrompts As Variant _
    ByRef vtbBRNeedPageInfo As Variant _
    ByRef vtbBRHidePrompts As Variant _
    ByRef vtRTPNamesUsed As Variant _
    ByRef vtRTPValuesUsed As Variant) As Long

    Public Declare Function HypListCalcScripts Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByRef scriptArray As Variant) As Long

    Public Declare Function HypListCalcScriptsEx Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtbRuleOnForm As Variant _
    ByRef vtCubeNames As Variant _
    ByRef vtBRNames As Variant _
    ByRef vtBRTypes As Variant _
    ByRef vtBRHasPrompts As Variant _
    ByRef vtBRNeedsPageInfo As Variant _
    ByRef vtBRHidePrompts As Variant) As Long

    '**************************************************************************
    ' Calculate / consolidate / definition of functions.
    '**************************************************************************

    Public Declare Function HypCalculate Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare Function HypCalculateContribution Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare Function HypConsolidate Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare Function HypConsolidateAll Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare Function HypConsolidateAllWithData Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare Function HypForceCalculate Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare Function HypForceCalculateContribution Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare Function HypForceTranslate Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    Public Declare Function HypTranslate Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtRange As Variant) As Long

    '**************************************************************************
    'The functions of request of members.
    '**************************************************************************

    Public Declare Function HypFindMember Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtAliasTable As Variant _
    ByRef vtDimensionName As Variant _
    ByRef vtAliasName As Variant _
    ByRef vtGenerationName As Variant _
    ByRef vtLevelName As Variant) As Long

    Public Declare Function HypFindMemberEx Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtAliasTable As Variant _
    ByRef vtDimensionName As Variant _
    ByRef vtAliasName As Variant _
    ByRef vtGenerationName As Variant _
    ByRef vtLevelName As Variant) As Long

    Public Declare Function HypGetAncestor Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtLayerType As Variant _
    ByVal intLayerNumber As Integer _
    ByRef vtAncestor As Variant) As Long

    Public Declare Function HypGetChildren Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal intChildCount As Integer _
    ByRef vtChildNameArray As Variant) As Long

    Public Declare Function HypGetParent Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByRef vtParentName As Variant) As Long

    Public Declare Function HypIsAttribute Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtUDAString As Variant) As Variant

    Public Declare Function HypIsDescendant Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtDescendantName As Variant) As Boolean

    Public Declare Function HypIsAncestor Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtAncestorName As Variant) As Variant

    Public Declare Function HypIsExpense Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByVal vtMemberName As Variant) As Variant

    Public Declare Function HypIsParent Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal ParentName As Variant) to Boolean

    Public Declare Function HypIsChild Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtParentName As Variant _
    ByVal vtChildName As Variant) As Variant

    Public Declare Function HypIsUDA Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtUDAString As Variant) As Variant

    Public Declare Function HypOtlGetMemberInfo Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtDimensionName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtPredicate As Variant _
    ByRef vtMemberArray As Variant) As Long

    Public Declare Function HypQueryMembers Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtPredicate As Variant _
    ByVal vtOption As Variant _
    ByVal vtDimensionName As Variant _
    ByVal vtInput1 As Variant _
    ByVal vtInput2 As Variant _
    ByRef vtMemberArray As Variant) As Long

    Public Declare Function HypGetMemberInformation Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByVal vtPropertyName As Variant _
    ByRef vtPropertyValue As Variant _
    ByRef vtPropertyValueStrings As Variant) As Long

    Public Declare Function HypGetMemberInformationEx Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtMemberName As Variant _
    ByRef vtPropertyNames As Variant _
    ByRef vtPropertyValues As Variant _
    ByRef vtPropertyValueStrings As Variant) As Long

    '**************************************************************************
    ' Option functions
    '**************************************************************************

    Public Declare Function HypGetGlobalOption Lib "HsAddin" (ByVal vtItem As Long) As Variant

    Public Declare Function HypGetSheetOption Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtItem As Variant) As Variant

    Public Declare Function HypGetOption Lib "HsAddin" (ByVal vtItem As Variant, ByRef vtRet As Variant, ByVal vtSheetName As Variant) As Long

    Public Declare Function HypSetGlobalOption Lib "HsAddin" (ByVal vtItem As Long _
    ByVal vtGlobalOption As Variant) As Long

    Public Declare Function HypSetSheetOption Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtItem As Variant _
    ByVal vtOption As Variant) As Long

    Public Declare Function HypSetOption Lib "HsAddin" (ByVal vtItem As Variant _
    ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long

    Public Declare Function HypDeleteAllMRUItems Lib "HsAddin" () As Long

    '**************************************************************************
    'Functions of dynamic Link.
    '**************************************************************************

    Public Declare Function HypDisplayToLinkView Lib "HsAddin" (ByVal vtDocumentType As Variant _
    ByVal vtDocumentPath As Variant) As Long

    Public Declare Function HypGetColCount Lib "HsAddin" () As Long

    Public Declare Function HypGetColItems Lib "HsAddin" (ByVal vtColID As Variant _
    ByRef vtDimensionName As Variant _
    ByRef vtMemberNames As Variant) As Long

    Public Declare Function HypGetConnectionInfo Lib "HsAddin" (ByRef vtServerName As Variant _
    ByRef vtUserName As Variant _
    ByRef vtPassword As Variant _
    ByRef vtApplicationName As Variant _
    ByRef vtDatabaseName As Variant _
    ByRef vtFriendlyName As Variant _
    ByRef vtURL As Variant _
    ByRef vtProviderType As Variant) As Long

    Public Declare Function HypGetLinkMacro Lib "HsAddin" (ByRef vtMacroName As Variant) As Long

    Public Declare Function HypGetPOVCount Lib "HsAddin" () As Long

    Public Declare Function HypGetPOVItems Lib "HsAddin" (ByRef vtDimensionNames As Variant _
    ByRef vtPOVNames As Variant) As Long

    Public Declare Function HypGetRowCount Lib "HsAddin" () As Long

    Public Declare Function HypGetRowItems Lib "HsAddin" (ByVal rowID As Variant _
    ByRef vtDimensionName As Variant _
    ByRef vtMemberNames As Variant) As Long

    Public Declare Function HypGetSourceGrid Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByRef vtGrid As Variant) As Long

    Public Declare Function HypSetColItems Lib "HsAddin" (ByVal vtColID As Variant _
    ByVal vtDimensionName As Variant _
    ParamArray MemberList() as Variant) as long

    Public Declare Function HypSetConnectionInfo Lib "HsAddin" (ByVal vtServerName As Variant _
    ByVal vtUserName As Variant _
    ByVal vtPassword As Variant _
    ByVal vtApplicationName As Variant _
    ByVal vtDatabaseName As Variant _
    ByVal vtFriendlyName As Variant _
    ByVal vtURL As Variant _
    ByVal vtProviderType As Variant) As Long

    Public Declare Function HypSetLinkMacro Lib "HsAddin" (ByVal vtMacroName As Variant) As Long

    Public Declare Function HypSetPOVItems Lib "HsAddin" (ParamArray MemberList() as an alternative) as long

    Public Declare Function HypSetRowItems Lib "HsAddin" (ByVal vtRowID As Variant _
    ByVal vtDimensionName As Variant _
    ParamArray MemberList() as Variant) as long

    Public Declare Function HypUseLinkMacro Lib "HsAddin" (ByVal nozzle As Boolean) As Long

    '**************************************************************************
    "Deprecated functions
    '**************************************************************************

    Public Declare Function HypCaptureFormatting Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtSelectionRange As Variant) As Long

    Public Declare Function HypRemoveCapturedFormats Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtbRemoveAllCapturedFormats As Variant _
    ByVal vtSelectionRange As Variant) As Long

    Public Declare Function HypConnectToAPS Lib "HsAddin" () As Long

    Public Declare Function HypDisconnectFromAPS Lib "HsAddin" () As Long

    Public Declare Function HypGetCurrentAPSURL Lib "HsAddin" (ByRef vtAPSURL As Variant) As Long

    Public Declare Function HypGetOverrideFlag Lib "HsAddin" (ByRef vtOverride As Boolean) As Long

    Public Declare Function HypIsConnectedToAPS Lib "HsAddin" () As Long

    Public Declare Function HypMigrateConnectionToDataSourceMgr Lib "HsAddin" (ByVal vtFriendlyName As Variant) As Long

    Public Declare Function HypSetCurrentUserAPSURL Lib "HsAddin" (ByVal vtAPSURL As Variant) As Long

    Public Declare Function HypSetOverrideFlag Lib "HsAddin" (ByVal vtOverride As Boolean) As Long

    Public Declare Function HypMenuVVisualizeinHVE Lib "HsAddin" () As Long

    '**************************************************************************
    '**************************************************************************

    '**************************************************************************
    "ADVANCED MDX QUERY SECTION.
    '**************************************************************************

    '**************************************************************************
    "Type statements."
    '**************************************************************************

    Type MDX_CELL
    CellValue As Double
    CellStatus As Long
    End type

    Type MDX_PROPERTY
    PropertyName as Variant
    PropertyValue as Variant
    PropertyType as Variant
    End type

    Type MDX_MEMBER
    MemberName as Variant
    NumClusters As Long
    NumProps As Long
    PropInfo() as MDX_PROPERTY
    End type

    Type MDX_DIMENSION
    Nomdimension as Variant
    NumProps As Long
    NumMembers As Long
    PropsInfo() as MDX_PROPERTY
    MemberInfo() as MDX_MEMBER
    End type

    Type MDX_CLUSTER
    DimensionInfo() as MDX_DIMENSION
    TupleCount As Long
    End type

    Type MDX_AXIS
    DimensionsCount As Long
    TuplesCount As Long
    ClustersCount As Long
    DimensionInfo() as MDX_DIMENSION
    ClusterInfo() as MDX_CLUSTER
    End type

    Type MDX_AXES_NATIVE
    AxisCount As Long
    That as long
    AxisInfo as Variant
    CellInfo as Variant
    End type

    Type MDX_AXES
    AxisCount As Long
    That as long
    AxisInfo() as MDX_AXIS
    CellInfo() as MDX_CELL
    End type

    '**************************************************************************
    ' Function in MDX query
    '**************************************************************************

    Public Declare Function HypExecuteMDXEx Lib "HsAddin" (ByVal vtSheetName As Variant _
    ByVal vtQuery As Variant _
    ByVal vtBoolHideData As Variant _
    ByVal vtBoolDataLess As Variant _
    ByVal vtBoolNeedStatus As Variant _
    ByVal vtMbrIDType As Variant _
    ByVal vtAliasTable As Variant _
    ByRef outResult As MDX_AXES_NATIVE) As Long ' Essbase

    #End If

    '**************************************************************************
    ' For conversion based C++ structure MDX to a VB compatible MDX structure
    ' * To be used with HypExecuteMDXEx only *.
    '**************************************************************************

    Void GetVBCompatibleMDXStructure (ByRef instruct as MDX_AXES_NATIVE, ByRef outStruct As MDX_AXES)

    outStruct.AxisCount = inStruct.AxisCount
    outStruct.CellCount = inStruct.CellCount

    "Treat the cell Info
    If inStruct.CellCount then
    Dim vtCellStruct As Variant
    ReDim outStruct.CellInfo (inStruct.CellCount - 1).
    For iCellCount = 0 To inStruct.CellCount - 1
    vtCellStruct = inStruct.CellInfo (iCellCount)
    outStruct.CellInfo (iCellCount). CellStatus = vtCellStruct (0)
    outStruct.CellInfo (iCellCount). CellValue = vtCellStruct (1)
    Next
    End If
    ' End cell treatment Info

    «Treat axis Info»
    If inStruct.AxisCount then
    ReDim outStruct.AxisInfo (inStruct.AxisCount - 1).
    Dim vtAxisStruct As Variant
    For iAxisCount = 0 To inStruct.AxisCount - 1
    vtAxisStruct = inStruct.AxisInfo (iAxisCount)
    outStruct.AxisInfo (iAxisCount). DimensionsCount = vtAxisStruct (0)
    outStruct.AxisInfo (iAxisCount). TuplesCount = vtAxisStruct (1)
    outStruct.AxisInfo (iAxisCount). ClustersCount = vtAxisStruct (2)
            
    ' Add dimensions of information to the axis title
    If (iAxisCount) outStruct.AxisInfo. So DimensionsCount
    ReDim outStruct.AxisInfo (iAxisCount). DimensionInfo (outStruct.AxisInfo (iAxisCount). DimensionsCount - 1).
    Dim vtAllDims As Variant
    Dim vtDimStruct As Variant
    vtAllDims = vtAxisStruct (3)
    For iDimCount = 0 To outStruct.AxisInfo (iAxisCount). DimensionsCount - 1
    vtDimStruct = vtAllDims (iDimCount)
    outStruct.AxisInfo (iAxisCount). DimensionInfo (iDimCount). Nomdimension = vtDimStruct (0)
    outStruct.AxisInfo (iAxisCount). DimensionInfo (iDimCount). NumMembers = vtDimStruct (1)
    outStruct.AxisInfo (iAxisCount). DimensionInfo (iDimCount). NumProps = vtDimStruct (2)
          
    ' Start - add information properties in each Dimension.
    If (iAxisCount) outStruct.AxisInfo. DimensionInfo (iDimCount). So NumProps
    ReDim outStruct.AxisInfo (iAxisCount). DimensionInfo (iDimCount). PropsInfo (outStruct.AxisInfo (iAxisCount). DimensionInfo (iDimCount). NumProps - 1).
    Dim vtAllProps As Variant
    Dim vtPropStruct As Variant
    vtAllProps = vtDimStruct (3)
    For iCountProp = 0 To outStruct.AxisInfo (iAxisCount). DimensionInfo (iDimCount). NumProps - 1
    vtPropStruct = vtAllProps (iCountProp)
    outStruct.AxisInfo (iAxisCount). DimensionInfo (iDimCount). PropsInfo (iCountProp). PropertyName = vtPropStruct (0)
    outStruct.AxisInfo (iAxisCount). DimensionInfo (iDimCount). PropsInfo (iCountProp). PropertyType = vtPropStruct (1)
    outStruct.AxisInfo (iAxisCount). DimensionInfo (iDimCount). PropsInfo (iCountProp). PropertyValue = Null ' not sent
    Next
    End If
    ' End - add information properties in each Dimension
    Next
    End If
    ' End Dimensions of information to the axis title
       
    "Add Cluster information to the axis title
    If (iAxisCount) outStruct.AxisInfo. So ClustersCount
    ReDim outStruct.AxisInfo (iAxisCount). ClusterInfo (outStruct.AxisInfo (iAxisCount). ClustersCount - 1).
    Dim vtAllClusters As Variant
    Dim vtClusterStruct As Variant
    vtAllClusters = vtAxisStruct (4)
    For iClusterCount = 0 To outStruct.AxisInfo (iAxisCount). ClustersCount - 1
    vtClusterStruct = vtAllClusters (iClusterCount)
    outStruct.AxisInfo (iAxisCount). ClusterInfo (iClusterCount). TupleCount = vtClusterStruct (1)
               
    ' Add Dimensions info in the title of the Group
    If (iAxisCount) outStruct.AxisInfo. So DimensionsCount
    ReDim outStruct.AxisInfo (iAxisCount). ClusterInfo (iClusterCount). DimensionInfo (outStruct.AxisInfo (iAxisCount). DimensionsCount - 1).
    Dim vtAllDimsUnderCluster As Variant
    Dim vtDimUnderCluster As Variant
    vtAllDimsUnderCluster = vtClusterStruct (0)
    For iDimsUnderClusterCount = 0 To outStruct.AxisInfo (iAxisCount). DimensionsCount - 1
    vtDimUnderCluster = vtAllDimsUnderCluster (iDimsUnderClusterCount)
    outStruct.AxisInfo (iAxisCount). ClusterInfo (iClusterCount). DimensionInfo (iDimsUnderClusterCount). NumMembers = vtDimUnderCluster (2)
                       
    "Add members to the Group-> Dimensions
    If (iAxisCount) outStruct.AxisInfo. ClusterInfo (iClusterCount). DimensionInfo (iDimsUnderClusterCount). So NumMembers
    ReDim outStruct.AxisInfo (iAxisCount). ClusterInfo (iClusterCount). DimensionInfo (iDimsUnderClusterCount). MemberInfo (outStruct.AxisInfo (iAxisCount). ClusterInfo (iClusterCount). DimensionInfo (iDimsUnderClusterCount). NumMembers - 1).
    Dim vtAllMembersUnderClusterDim As Variant
    Dim vtMemberUnderClusterDim As Variant
    vtAllMembersUnderClusterDim = vtDimUnderCluster (4)
    For iMemUnderClusterDimCount = 0 To outStruct.AxisInfo (iAxisCount). ClusterInfo (iClusterCount). DimensionInfo (iDimsUnderClusterCount). NumMembers - 1
    vtMemberUnderClusterDim = vtAllMembersUnderClusterDim (iMemUnderClusterDimCount)
    outStruct.AxisInfo (iAxisCount). ClusterInfo (iClusterCount). DimensionInfo (iDimsUnderClusterCount). MemberInfo (iMemUnderClusterDimCount). MemberName = vtMemberUnderClusterDim (0)
    outStruct.AxisInfo (iAxisCount). ClusterInfo (iClusterCount). DimensionInfo (iDimsUnderClusterCount). MemberInfo (iMemUnderClusterDimCount). NumClusters = vtMemberUnderClusterDim (1)
                               
    ' Add information properties
    If (iAxisCount) outStruct.AxisInfo. DimensionInfo (iDimsUnderClusterCount). So NumProps
    ReDim outStruct.AxisInfo (iAxisCount). ClusterInfo (iClusterCount). DimensionInfo (iDimsUnderClusterCount). MemberInfo (iMemUnderClusterDimCount). PropInfo (outStruct.AxisInfo (iAxisCount). DimensionInfo (iDimsUnderClusterCount). NumProps - 1).
    Dim vtAllPropsUnderCluster As Variant
    Dim vtPropUnderCluster As Variant
    vtAllPropsUnderCluster = vtMemberUnderClusterDim (2)
    For iPropCountUnderCluster = 0 To outStruct.AxisInfo (iAxisCount). DimensionInfo (iDimsUnderClusterCount). NumProps - 1
    vtPropUnderCluster = vtAllPropsUnderCluster (iPropCountUnderCluster)
    outStruct.AxisInfo (iAxisCount). ClusterInfo (iClusterCount). DimensionInfo (iDimsUnderClusterCount). MemberInfo (iMemUnderClusterDimCount). PropInfo (iPropCountUnderCluster). PropertyValue = vtPropUnderCluster (2)
    Next
    End If
    ' End of information properties
    Next
    End If
    ' End - add members under the Cluster--> Dimensions
    Next
    End If
    ' End Dimensions of information in respect of the Group
    Next
    End If
    Next
    End If
    ' End of Cluster of information to the axis title
    ' End treatment axis Info
    End Sub

    '**************************************************************************
    ' Message for the error Code function
    '**************************************************************************

    Function GetReturnCodeMessage (m As Long) As String

    Select the m
    Case SmartViewErrors.SS_ERR_ERROR
    GetReturnCodeMessage = "General error".
    Case SmartViewErrors.SS_NO_GRID_ON_SHEET_BUT_FUNCTIONS_SUBMITTED
    GetReturnCodeMessage = "no grid on the sheet, but submitted functions.
    Case SmartViewErrors.SS_SHEET_NOT_CONNECTED_BUT_FUNCTIONS_SUBMITTED
    GetReturnCodeMessage = "map not connected but submitted functions.
    Case SmartViewErrors.SS_OK
    GetReturnCodeMessage = "OK".
    Case SmartViewErrors.SS_INIT_ERR
    GetReturnCodeMessage = "initialization error".
    Case SmartViewErrors.SS_TERM_ERR
    GetReturnCodeMessage = "termination error."
    Case SmartViewErrors.SS_NOT_INIT
    GetReturnCodeMessage = "not initialized".
    Case SmartViewErrors.SS_NOT_CONNECTED
    GetReturnCodeMessage = "not connected".
    Case SmartViewErrors.SS_NOT_LOCKED
    GetReturnCodeMessage = "not locked".
    Case SmartViewErrors.SS_INVALID_SSTABLE
    GetReturnCodeMessage = "invalid worksheet Table.
    Case SmartViewErrors.SS_INVALID_SSDATA
    GetReturnCodeMessage = "invalid worksheet data.
    Case SmartViewErrors.SS_NOUNDO_INFO
    GetReturnCodeMessage = "there is no cancellation Information.
    Case SmartViewErrors.SS_CANCELED
    GetReturnCodeMessage = "operation has been cancelled".
    Case SmartViewErrors.SS_GLOBALOPTS
    GetReturnCodeMessage = "Global error Options"
    Case SmartViewErrors.SS_SHEETOPTS
    GetReturnCodeMessage = "error sheet Options.
    Case SmartViewErrors.SS_NOTENABLED
    GetReturnCodeMessage = 'Cancel is not enabled.
    Case SmartViewErrors.SS_NO_MEMORY
    GetReturnCodeMessage = 'insufficient memory '.
    Case SmartViewErrors.SS_DIALOG_ERROR
    GetReturnCodeMessage = "appropriate dialog could not be displayed.
    Case SmartViewErrors.SS_INVALID_PARAM
    GetReturnCodeMessage = 'function contains an invalid parameter.
    Case SmartViewErrors.SS_CALCULATING
    GetReturnCodeMessage = 'Calculation in progress'
    Case SmartViewErrors.SS_SQL_IN_PROGRESS
    GetReturnCodeMessage = "SQL in progress"
    Case SmartViewErrors.SS_FORMULAPRESERVE
    GetReturnCodeMessage = "the operation is not allowed because the worksheet is in the Mode of preservation formula."
    Case SmartViewErrors.SS_INTERNALSSERROR
    GetReturnCodeMessage = "can only take place on the specified worksheet.
    Case SmartViewErrors.SS_INVALID_SHEET
    GetReturnCodeMessage = "current sheet cannot be determined.
    Case SmartViewErrors.SS_NOACTIVESHEET
    GetReturnCodeMessage = "no Active sheet is selected.
    Case SmartViewErrors.SS_NOTCALCULATING
    GetReturnCodeMessage = "calculation cannot be cancelled because no calculations are running"
    Case SmartViewErrors.SS_INVALIDSELECTION
    GetReturnCodeMessage = "selection parameter is not valid.
    Case SmartViewErrors.SS_INVALIDTOKEN
    GetReturnCodeMessage = "invalid token".
    Case SmartViewErrors.SS_CASCADENOTALLOWED
    GetReturnCodeMessage = "unable to create file list of Cascade.
    Case SmartViewErrors.SS_NOMACROS
    GetReturnCodeMessage = "spreadsheet Macros cannot be performed due to the license agreement.
    Case SmartViewErrors.SS_NOREADONLYMACROS
    GetReturnCodeMessage = "Spreadsheet Macros that update the database cannot be executed because of the license agreement"
    Case SmartViewErrors.SS_READONLYSS
    GetReturnCodeMessage = "Database cannot be updated because you have only one licence to read"
    Case SmartViewErrors.SS_NOSQLACCESS
    GetReturnCodeMessage = "no access SQL.
    Case SmartViewErrors.SS_MENUALREADYREMOVED
    GetReturnCodeMessage = "Menu already deleted.
    Case SmartViewErrors.SS_MENUALREADYADDED
    GetReturnCodeMessage = "already added Menu".
    Case SmartViewErrors.SS_NOSPREADSHEETACCESS
    GetReturnCodeMessage = 'access not spreadsheet '.
    Case SmartViewErrors.SS_NOHANDLES
    GetReturnCodeMessage = 'no handles.
    Case SmartViewErrors.SS_NOPREVCONNECTION
    GetReturnCodeMessage = 'no previous connection '.
    Case SmartViewErrors.SS_LROERROR
    GetReturnCodeMessage = "error LRO.
    Case SmartViewErrors.SS_LROWINAPPACCESSERR
    GetReturnCodeMessage = "Access of the LRO Windows application error"
    Case SmartViewErrors.SS_DATANAVINITERR
    GetReturnCodeMessage = "error initializing data Navigation.
    Case SmartViewErrors.SS_PARAMSETNOTALLOWED
    GetReturnCodeMessage = "serial settings is not allowed.
    Case SmartViewErrors.SS_SHEET_PROTECTED
    GetReturnCodeMessage = "the specified worksheet is protected."
    Case SmartViewErrors.SS_CALCSCRIPT_NOTFOUND
    GetReturnCodeMessage = "not found calculation Script.
    Case SmartViewErrors.SS_NOSUPPORT_PROVIDER
    GetReturnCodeMessage = "Provider not supported."
    Case SmartViewErrors.SS_INVALID_ALIAS
    GetReturnCodeMessage = "invalid Alias.
    Case SmartViewErrors.SS_CONN_NOT_FOUND
    GetReturnCodeMessage = 'connection not found '.
    Case SmartViewErrors.SS_APS_CONN_NOT_FOUND
    GetReturnCodeMessage = 'Connection APS' not found
    Case SmartViewErrors.SS_APS_NOT_CONNECTED
    GetReturnCodeMessage = "APS not connected".
    Case SmartViewErrors.SS_APS_CANT_CONNECT
    GetReturnCodeMessage = 'APS cannot connect.
    Case SmartViewErrors.SS_CONN_ALREADY_EXISTS
    GetReturnCodeMessage = "connection already exists".
    Case SmartViewErrors.SS_APS_URL_NOT_SAVED
    GetReturnCodeMessage = "URL of APS unregistered"
    Case SmartViewErrors.SS_MIGRATION_OF_CONN_NOT_ALLOWED
    GetReturnCodeMessage = "connection unauthorized Migration."
    Case SmartViewErrors.SS_CONN_MGR_NOT_INITIALIZED
    GetReturnCodeMessage = "connection manager not initialized.
    Case SmartViewErrors.SS_FAILED_TO_GET_APS_OVERRIDE_PROPERTY
    GetReturnCodeMessage = "Could not get property Override APS"
    Case SmartViewErrors.SS_FAILED_TO_SET_APS_OVERRIDE_PROPERTY
    GetReturnCodeMessage = "Unable to set the property Override APS"
    Case SmartViewErrors.SS_FAILED_TO_GET_APS_URL
    GetReturnCodeMessage = "unable to get the URL of the APS.
    Case SmartViewErrors.SS_APS_DISCONNECT_FAILED
    GetReturnCodeMessage = "disconnect APS has failed."
    Case SmartViewErrors.SS_OPERATION_FAILED
    GetReturnCodeMessage = 'operation failed '.
    Case SmartViewErrors.SS_CANNOT_ASSOCIATE_SHEET_WITH_CONNECTION
    GetReturnCodeMessage = "unable to associate a sheet with connection".
    Case SmartViewErrors.SS_REFRESH_SHEET_NEEDED
    GetReturnCodeMessage = 'Refresh required sheet. "
    Case SmartViewErrors.SS_NO_GRID_OBJECT_ON_SHEET
    GetReturnCodeMessage = 'no Grid object on sheet '.
    Case SmartViewErrors.SS_NO_CONNECTION_ASSOCIATED
    GetReturnCodeMessage = 'no connection associated with '.
    Case SmartViewErrors.SS_NON_DATA_CELL_PASSED
    GetReturnCodeMessage = "no past data cell.
    Case SmartViewErrors.SS_DATA_CELL_IS_NOT_WRITABLE
    GetReturnCodeMessage = "mobile data is not writable.
    Case SmartViewErrors.SS_NO_SVC_CONTENT_ON_SHEET
    GetReturnCodeMessage = "No content Smart View on the sheet"
    Case SmartViewErrors.SS_FAILED_TO_GET_OFFICE_OBJECT
    GetReturnCodeMessage = "unable to get the Office object.
    Case SmartViewErrors.SS_OP_FAILED_AS_CHART_IS_SELECTED
    GetReturnCodeMessage = ' Operation failed in the chart is selected.
    Case SmartViewErrors.SS_EXCEL_IN_EDIT_MODE
    GetReturnCodeMessage = "Excel in Edit Mode.
    Case SmartViewErrors.SS_SHEET_NON_SMARTVIEW_COMPATIBLE
    GetReturnCodeMessage = ' sheet Compatible not Smart View.
    Case SmartViewErrors.SS_APP_NOT_STANDALONE
    GetReturnCodeMessage = "ask not"independent"
    Case SmartViewErrors.SS_SMART_VIEW_DISABLED
    GetReturnCodeMessage = ' Disabled Smart View.
    Case SmartViewErrors.SS_VBA_DEPRECATED
    GetReturnCodeMessage = 'function has been deprecated.
    Case SmartViewErrors.SS_OPERATION_NOT_SUPPORTED_IN_MULTIGRID_MODE
    GetReturnCodeMessage = "Mode is not supported in Multigrid mode."
    Case SmartViewErrors.SS_INVALID_MEMBER
    GetReturnCodeMessage = "invalid member".
    Case SmartViewErros.SS_NO_SV_NAME_RANGE
    GetReturnCodeMessage = "No Smart View range on worksheet named"
    Case SmartViewErrors.SS_AMBIGUOUS_MENU
    GetReturnCodeMessage = "could not solve the menu name.
    Case Else
    GetReturnCodeMessage = 'Undefined error Code' & m
    Select end

    End Function

  • How can I measure the time between each two successive increase edges, using digital input?

    Hello

    I have tried two measure the time in seconds between each two successive rising edges on a digital input.

    So far I managed to detect the rising edge, increment a counter at each rising edge and take the time during which the increase is edge

    all I need now is subtract edge currently rising from the previous era of edge rising to calculate (T), which can be 1/frequency and display in real time for the user.

    but I do not know how to do this

    Can someone help me please!

    Woah!

    Sorry Apok, but your code becomes much too complicated and salty. I don't think that all records to offset or Boolean conversion/operators are necessary at all.

    If you want to measure the time between two keys so it's another (much less complicated) way. It simply records the time when press button in a registry change, then compares the two.

  • Reliability of the data in the conversion to & from a Variant...

    It is possible to convert any data type to a variant, and then turn it back on.  In doing so, are there data types who will lose information during the conversion process?  If so, why?

    Yes, you can convert any type to a variable ranging and back. There is a VI called "Variant data" which will have a type as input. He continued to convert the variant the correct data. The side variant must know what type of data to expect. He can pull of the Variant. However, you can use a cluster of generic data that consists of a username and a Variant. Then you can have different types of data which can handle the side reception. It is a two-step process. One of conversion the variant of general type (data type and Variant cluster). The second would be a case statement uses the type then covert the internal variant to the specified type. This approach is used for generic messaging systems. The upper levels of the code will know what to do with the data. The lower levels are just generic data passing around.

    I'm not aware of any information that get lost during the conversion of the data to and from a variant. Of course, I not had no problem using them.

  • Define Booleans in a global cluster with variant

    Hello

    I want to reset the Boolean values in a global variable that contains a single cluster. I use the variants, but I have this error:

    Property node (arg 2) in GetErrorList_Global.vi

    Value of the property Name:

    See the reading circle in the image below.

    FYI, the upper part of the VI is used to read the value of the label of each true (which means that each label error).

    Thanks in advance for your help.

    What you could do is this: since you have the individual items in the cluster control and use it in the loop, the Boolean value here.

    /Y

  • Conversion table of varying Dynamics

    I tried to convert a number of 2D, dynamically assigned tables to VARIANTS in order to generate a plot of parametric Surface 3D ActiveX.   Unfortunately, the CA_VariantSet2DArray function has problems with this.  If I understand the question, a translation to the VARIANT cannot be completed if non-contiguous memory is passed into the function.  I AM able to pass arrays statically defined in the CA_VariantSet2DArray function and generate my very well 3D parametric Surface plot.  In the end, however, table sizes that will be Wescott may vary each time the user the parcel data.  Given that the size info is not known at compile time, I can't define static arrays.

    I saw a few people who have asked similar questions in these forums in the past, but there seems to be no solution.  Is there an a way in which the varrient conversion functions can be used with dynamically created tables?  Is there some sort or work-arround?   I tried defining a very large static arrays and then using only a part of them because the CA_VariantSet2DArray requires the dimensions of the matrix as input.  Let us, the unused portions of static arrays are always copied in the VARIANT and bad data are thus drawn to the plot of 3D parametric Surface.

    Any help would be GREATLY appreciated!  Thank you!!

    Here is a snippet of my code simplfied:

    -----------------------------------------------------------------

    IT DOES NOT WORK...

    -----------------------------------------------------------------

    XVt VARIANT, yVt, zVt;

    nRows = 40;

    Matches = 39;

    float * xVals.
    float * yVals;

    float * zval;

    int row, col;

    xVals = (Char *) malloc (nRows * sizeof(float *));
    yVals = (Char *) malloc (nRows * sizeof(float *));
    ZVAL = (Char *) malloc (nRows * sizeof(float *));
      
    for (row = 0; row)< nrows;="">

    {
    xVals [Online] = (Char *) malloc (matches * sizeof (float));
    yVals [Online] = (Char *) malloc (matches * sizeof (float));
    ZVAL [line] = (Char *) malloc (matches * sizeof (float));
    }

    for (row = 0; row)< nrows;="">

    {
    for (col = 0; col< ncols;="">
    {

    xVals [Online] [column] = 0;
    yVals [Online] [column] = 0;
    ZVAL [row] [column] = 0;

    }

    }

    Valid values plot copied in yVals, xVals, zVals here.

    CA_VariantSet2DArray (& xVt, CAVT_FLOAT, nRows, matches, xVals);

    CA_VariantSet2DArray (& yVt, CAVT_FLOAT, nRows, matches, yVals);
    CA_VariantSet2DArray (& zVt, CAVT_FLOAT, nRows, matches, zval);

    CW3DGraphLib__DCWGraph3DPlot3DParametricSurface (surfGraphHndl, NULL, xVt, yVt, zVt, CA_DEFAULT_VAL);

    -----------------------------------------------------------------

    IT DOES NOT WORK...

    -----------------------------------------------------------------

    XVt VARIANT, yVt, zVt;

    nRows = 40;

    Matches = 39;

    float * xVals.
    float * yVals;

    float * zval;

    float xtemp [40] [39];
    float ytemp [40] [39];
    float ztemp [40] [39];

    int row, col;

    xVals = (Char *) malloc (nRows * sizeof(float *));
    yVals = (Char *) malloc (nRows * sizeof(float *));
    ZVAL = (Char *) malloc (nRows * sizeof(float *));
      
    for (row = 0; row)< nrows;="">

    {
    xVals [Online] = (Char *) malloc (matches * sizeof (float));
    yVals [Online] = (Char *) malloc (matches * sizeof (float));
    ZVAL [line] = (Char *) malloc (matches * sizeof (float));
    }

    for (row = 0; row)< nrows;="">

    {
    for (col = 0; col< ncols;="">
    {

    xVals [Online] [column] = 0;
    yVals [Online] [column] = 0;
    ZVAL [row] [column] = 0;

    }

    }

    Valid values plot copied in yVals, xVals, zVals here.

    for (row = 0; row)< nrows;="">

    {
    for (col = 0; col< ncols;="">
    {
    XTemp [row] [column] is xVals [row] [column];.
    [Online] ytemp [column] = yVals [row] [column];
    [Online] ztemp [column] = zval [row] [column];
    }
    }
        
    CA_VariantSet2DArray (& xVt, CAVT_FLOAT, nRows, matches, xtemp);
    CA_VariantSet2DArray (& yVt, CAVT_FLOAT, nRows, matches, ytemp);
    CA_VariantSet2DArray (& zVt, CAVT_FLOAT, nRows, matches, ztemp);

    CW3DGraphLib__DCWGraph3DPlot3DParametricSurface (surfGraphHndl, NULL, xVt, yVt, zVt, CA_DEFAULT_VAL);

    You must allocate a block of memory for each table, something like:

    VARIANT  xVt, yVt,  zVt;
        nRows = 40;
        nCols = 39;
    
        float *xVals;
        float *yVals;
        float *zVals;
    
        int row, col;
    
        xVals = (float *) malloc(nCols * nRows * sizeof(float));
        yVals = (float *) malloc(nCols * nRows * sizeof(float));
        zVals = (float *) malloc(nCols * nRows * sizeof(float));
    
        for(row = 0; row < nRows; row++)
    
        {
            for(col = 0; col < nCols; col++)
            {
              xVals[nCols*row + col] = 0;
              yVals[nCols*row + col] = 0;
              zVals[nCols*row + col] = 0;
    
            }
    
        }
    
       // Valid plot values copied into xVals, yVals, and zVals here.
    
        CA_VariantSet2DArray(&xVt, CAVT_FLOAT, nRows, nCols, xVals);
    
        CA_VariantSet2DArray(&yVt, CAVT_FLOAT, nRows, nCols, yVals);
        CA_VariantSet2DArray(&zVt, CAVT_FLOAT, nRows, nCols, zVals);
    
        CW3DGraphLib__DCWGraph3DPlot3DParametricSurface (surfGraphHndl, NULL, xVt, yVt, zVt, CA_DEFAULT_VAL);
    
  • Boolean quick table to table number conversion

    Hello

    Can someone tell me the quickest way to convert an array of Boolean to an array of 8-bit words repressenting numbers?

    Examples:

    Table of Boolean 1 d: 11001001 11111111 10110010

    Out of 1 d U8: 201 255 178

    As you can see it the MSB is read first. I'm going to cela thousands of times. What is the most effective way to do this? My implementation is not fast enough.

    Any help or links would be greatly appreciated.

    John

    Please find attached a suggestion.

    Your pieces of bits is always the same size?

  • conversion issues dynamic data in dbl/Boolean to a simulated signal

    Hello world

    I try to just do simulated flashing of the LED with a square wave. It has been 3 hours I'm looking why the does'nt of convertion of dynamic data that is updated at each iteration (it seems that the problems).

    I tried with all the options of the object to "convert", but I could not (I'm desperate)

    in the attached .vi, I chose "the most recent value.

    could have a peek at my .vi?

    Thank you very much

    Guillaume.


  • Variant of data with Null void management / vi

    Hi all

    I create an application that uses a DataSocket to generate Variant data.  I then transform variant in its form 'real data' (Boolean, U8, DBL) by using the 'Variant' to Data.vi, it works very well when there are data from the DataSocket however if no data is present, an error is received (error code 91).  I added a check to see if there is no current using the code below, data however as there are more than a dozen cases of this code throughout my program of conversion of the variants for a mixture of; Boolean values, U8 and DBL, I want to put this code in a Sub VI, I believe this would be more careful and do real programmers.

    My problem is that the "output data" must be able to adapt to the "Type" of entry before execution (as does "Variant of Data.vi"), but I could not find a way to do it.  Does anyone have any suggestions on what I need to do to get there?

    Thanks in advance,

    Mark

    With the help of LabVIEW 2010 Full Development System

    Wrap the function in a case structure and use empty String/path? with the cable Variant function to determine if the variant is empty.  Run the variant to the data if it is not empty.

    Edit: Looks like you added a picture I posted and do what I was proposing.  Anyway, I don't know that you can really conclude it in a Subvi with different types.  If you have a limited number of different types, you could maybe do a polymorphic VI.

  • ActiveX/COM adapter - how to assign a Variant to contain an integer

    We use a component 3 rd-party and need to interface for TestStand using COM. The interface uses a variant of spend data in various objects. We are unable to pass an integer.

    When expected contained in the variant type is a string or a double bed, the call is successful. When the expected type is an integer, the call fails. Passing a Boolean value will succeed, but only for 0 and -1.

    How we can assign an integer value to a Variant?  We can only find Int64() convert functions.

    May be a function that returns an integer type to convert a number of TestStand (double) in an integer value, but so far, no luck.

    There is currently no way to pass a 32-bit integer in a VARIANT using the ActiveX/COM adapter You can pass a 64-bit integer as you have no doubt already determined it, but teststand does not natively store numbers as the 32-bit integers and ActiveX/COM adapter currently has no way to specify a conversion of a data type Variant, so just TestStand stores the digital type it uses natively as a VARIANT.

    To call this method from TestStand, you will need to write a wrapper function that performs the conversion of the required parameter and calls the method and then call the wrapper of TestStand rather function.

    -Doug

  • from the data varying in queues, error code 91

    Task:

    pass data varying in a cluster as a data type of queue, i.e. the bundle a boolean and a string (the string is converted to a Variant).  Create two while loops (producer + consumer).

    Everything works fine the consumer using variant of the Labview if timeout for the dequeue is - 1 service data function.  Then when the data is sent (in response to a press of button in the producer) data are received and displayed correctly.

    However to modify the time-out of the consumer to say 500ms and then each time-out time that 91 error as shown in the attachment.

    I would like to know what I'm doing wrong, because it is not completely clear to me why it works with the infinite time-out but not the time 500 ms.

    Hello

    When "wait" wait times the function provides an empty cluster as output.  When you try to convert a white to a string type, it generates an error.

    Just do not transmit data to the conversion operation when the dequeue tiimeouts.

Maybe you are looking for