Data source types: Essbase, Planning, Financial Management, Hyperion Enterprise
HypGetDimMbrsForDataCell() retrieves the entire set of dimension members for a data cell.
HypGetDimMbrsForDataCell (vtSheetName [in], vtCellRange [in], vtServerName [out], vtAppName [out], vtCubeName [out], vtFormName [out], vtDimensionNames [out], vtMemberNames [out])
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
vtSheetName: For future use. Currently the active sheet is used.
vtCellRange: Range of the cell (one cell only) whose writability must be checked.
pvtServerName: Name of the server the associated connection on the sheet is connected to
pvtApplicationName: Name of the application the associated connection on the sheet is connected to
pvtCubeName: Name of the cube /database (Plan Type in Planning) the associated connection on the sheet is connected to
pvtFormName: Name of the form the associated connection on the sheet is connected to (in ad hoc grids, this is returned as empty string)
pvtDimensionNames: Array of dimension names
pvtMemberNames: Array of member names
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 Sub TestGetDimMbrsForDataCell() Dim oRet As Long Dim oSheetName As String Dim oSheetDisp As Worksheet Dim vtDimNames As Variant Dim vtMbrNames As Variant Dim vtServerName As Variant Dim vtAppName As Variant Dim vtCubeName As Variant Dim vtFormName As Variant Dim lNumDims As Long Dim lNumMbrs As Long Dim sPrintMsg As String oSheetName = Empty Set oSheetDisp = Worksheets(oSheetName$) oRet = HypGetDimMbrsForDataCell("", oSheetDisp.Range("B2"), vtServerName, vtAppName, vtCubeName, vtFormName, vtDimNames, vtMbrNames) If (oRet = SS_OK) Then If IsArray(vtDimNames) Then lNumDims = UBound(vtDimNames) - LBound(vtDimNames) + 1 End If If IsArray(vtMbrNames) Then lNumMbrs = UBound(vtMbrNames) - LBound(vtMbrNames) + 1 End If sPrintMsg = "Number of Dimensions = " & lNumDims & " Number of Members = " & lNumMbrs & " Cube Name - " & vtCubeName MsgBox (sPrintMsg) End If End Sub