Esempio n. 1
0
        public NameXPtg GetNameXPtg(string name)
        {
            IndexedUDFFinder udfFinder = (IndexedUDFFinder)this.GetUDFFinder();

            if (udfFinder.FindFunction(name) == null)
            {
                return((NameXPtg)null);
            }
            return(new NameXPtg(0, udfFinder.GetFunctionIndex(name)));
        }
Esempio n. 2
0
        public NameXPtg GetNameXPtg(String name)
        {
            IndexedUDFFinder udfFinder = (IndexedUDFFinder)GetUDFFinder();
            FreeRefFunction  func      = udfFinder.FindFunction(name);

            if (func == null)
            {
                return(null);
            }
            else
            {
                return(new NameXPtg(0, udfFinder.GetFunctionIndex(name)));
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Return an external name (named range, function, user-defined function) Pxg
        /// </summary>
        /// <param name="name"></param>
        /// <param name="sheet"></param>
        /// <returns></returns>
        public Ptg GetNameXPtg(String name, SheetIdentifier sheet)
        {
            // First, try to find it as a User Defined Function
            IndexedUDFFinder udfFinder = (IndexedUDFFinder)GetUDFFinder();
            FreeRefFunction  func      = udfFinder.FindFunction(name);

            if (func != null)
            {
                return(new NameXPxg(null, name));
            }

            // Otherwise, try it as a named range
            if (sheet == null)
            {
                if (_uBook.GetNames(name).Count > 0)
                {
                    return(new NameXPxg(null, name));
                }
                return(null);
            }
            if (sheet._sheetIdentifier == null)
            {
                // Workbook + Named Range only
                int bookIndex = ResolveBookIndex(sheet._bookName);
                return(new NameXPxg(bookIndex, null, name));
            }

            // Use the sheetname and process
            String sheetName = sheet._sheetIdentifier.Name;

            if (sheet._bookName != null)
            {
                int bookIndex = ResolveBookIndex(sheet._bookName);
                return(new NameXPxg(bookIndex, sheetName, name));
            }
            else
            {
                return(new NameXPxg(sheetName, name));
            }
        }