Storing objects in a spreadsheet

Data processing: presentation processing of document – operator i – Presentation processing of document – Layout

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C707S793000, C707S793000, C707S793000

Reexamination Certificate

active

06779151

ABSTRACT:

FIELD OF THE INVENTION
The present invention generally relates to electronic spreadsheets. More particularly, the present invention relates to storing automation objects within the cells of a spreadsheet.
BACKGROUND OF THE INVENTION
Spreadsheet application users are utilizing spreadsheets in more and more sophisticated ways. While spreadsheets were once primarily used to facilitate financial and technical calculations and analyses, users are demanding the ability to create and invoke user-defined functions within spreadsheets. Often, spreadsheet applications are used to create functioning spreadsheet objects that can be accessed over the Internet.
On a basic level, a spreadsheet is ultimately a programming tool. The cells of a spreadsheet can be used to store both data and formulas for manipulating data. However, unlike more sophisticated programming environments such as BASIC, C++, and Pascal, conventional spreadsheets provide no means to implement functional components (automation objects) residing outside of the spreadsheet. With the ever-expanding popularity of object-oriented programming models, valuable programming tools have been made available in the form of discrete, stand-alone automation objects. With the advent of component management systems, such as the Component Object Model, marketed by Microsoft Corporation of Redmond, Wash., such objects are generally readily accessible to other objects through the component management system.
Unfortunately, conventional spreadsheet applications have not provided access to external objects. As a result, conventional spreadsheets have served a limited role as a programming tool, as compared to the more sophisticated programming environments mentioned above. Therefore, there is a need in the art for a spreadsheet component that can be used to create a spreadsheet object that can access external objects through a component management system. The spreadsheet object should be able to process formulas that invoke external objects and store objects in the cells of the spreadsheet object. The spreadsheet object also should process formulas invoking the external object after the object has been stored in a spreadsheet cell and should recognize an object as a new data type.
SUMMARY OF THE INVENTION
The present invention is a spreadsheet component that provides a rich programming and modeling environment. The spreadsheet component of the present invention does this by recognizing a new “object” data type in addition to the conventional spreadsheet data types: numbers, text, date, Boolean, and error. The object data type enables a spreadsheet object to have an embedded instance of an external object that exists outside of the spreadsheet component. Once an object has been created within a spreadsheet object, the object can be invoked from any other cell or formula in the spreadsheet object.
The spreadsheet component of the present invention provides several special object functions that operate to enable a user to create and invoke an object. A user can directly call functions from objects that are installed on a local or remote machine, by integrating an object function within a spreadsheet formula. Thus, the user is provided with a tool for integrating outside data services and functionality into a spreadsheet object. Moreover, the user may take advantage of pre-existing external objects.
The spreadsheet component makes available a new class of object functions. This new class of object functions may be integrated into formulas (as can most spreadsheet function). The spreadsheet component also recognizes the “.” operator that is the conventional means (in object models) for separating object names and properties. This operator enables reference to specific object properties within the external object. Advantageously, the spreadsheet component of the present invention provides a sophisticated programming environment wherein a spreadsheet object can be enhanced with the ability to invoke the functionality of external objects through a component management system.
In one aspect of the present invention a method is provided for embedding an external object in a spreadsheet cell of a spreadsheet object. The method receives an object function and an external object identifier as input. The method parses the object function to determine whether the object function is valid and has a proper syntax. The method also accesses the external object identified by the external object identifier, to determine whether the external object is functional. If the object function is valid and has a proper syntax, then the method stores an embedded object in the spreadsheet cell. If the external object is functional, then the method recalculates the spreadsheet cell.
In another aspect of the present invention, a spreadsheet component is provided having an object function for invoking an external object. The spreadsheet component has a formula parser component and a recalculation component. The parser component functions to compare the object function to a function library to determine whether the object function conforms to a predefined syntax contained in a library entry associated with the object function. The parser component also functions to determine whether the object function properly identifies the external object. If the parser component determines that the object function conforms to the predefined syntax and properly identifies the external object, then the recalculation component functions to invoke the external object identified by the object function.
The various aspects of the present invention may be more clearly understood and appreciated from a review of the following detailed description of the disclosed embodiments and by reference to the drawings and claims.


REFERENCES:
patent: 5255363 (1993-10-01), Seyler
patent: 5303146 (1994-04-01), Ammirato et al.
patent: 5317686 (1994-05-01), Salas et al.
patent: 5339410 (1994-08-01), Kanai
patent: 5418902 (1995-05-01), West et al.
patent: 5485617 (1996-01-01), Stutz et al.
patent: 5603021 (1997-02-01), Spencer et al.
patent: 5708827 (1998-01-01), Kaneko et al.
patent: 5721847 (1998-02-01), Johnson
patent: 5784545 (1998-07-01), Anderson et al.
patent: 5883623 (1999-03-01), Cseri
patent: 5893123 (1999-04-01), Tuinenga
patent: 5983268 (1999-11-01), Freivald et al.
patent: 6034681 (2000-03-01), Miller et al.
patent: 6122649 (2000-09-01), Kanerva et al.
patent: 6157934 (2000-12-01), Khan et al.
patent: 6161107 (2000-12-01), Stern
patent: 6192379 (2001-02-01), Bekenn
patent: 6247020 (2001-06-01), Minard
patent: 6256649 (2001-07-01), Mackinlay et al.
patent: 6298352 (2001-10-01), Kannan et al.
patent: 6341288 (2002-01-01), Yach et al.
patent: 6366934 (2002-04-01), Cheng et al.
patent: 6401099 (2002-06-01), Koppolu et al.
patent: 6427153 (2002-07-01), Nelson et al.
patent: 6453328 (2002-09-01), Schaeffer et al.
patent: 6701485 (2004-03-01), Igra et al.
K. Ewbank, VBA insider, Developer Network Journal, No. 18, May-Jun. 2000, pp. 34-38.*
P. Lacoude and G. Ketema, Programming Excel COM objects in C++, C/C++ Users Journal v18, n4, Apr. 2000, pp. 22, 24-26, 28.*
Harris, Matthew; “Sams teach yourself Microsoft Excel 2000 programming in 21 days”, Indianapolis, Ind. Sams Publishing, 1999.□□.*
VBA inside; K. Ewbank; Developer Network Journal No. 18, May-Jun. 2000, pp. 34-38.□□.*
P. Lacoude and G. Ketema; “Programming Excel COM objects in C++”; C/C++ Users Journal v 18, n4, Apr. 2000, p. 22,24-6, 28.*
Similarity inheritance: a new model of inheritance for spreadsheet VPLs; R.W. Djang and M.M. Burnett;IEEE Symposium on Visual Languages, 1998, pp. 134-141.
Linking Framework spreadsheets; D. Paquette and K. Paquette;Ashton-Tate Quarterly, Oct.-Dec. 1988, pp. 59-64.
XAct: a program for construction, automated setup and bookkeeping of crystallization experiments; D.E. Brodersen, L.B. Jenner, G.R. Andersen, and J. Nyborg;Journal of Applied Crystallography, 1999, v32, 5 (Oct. 1) pp. 1012-1016.
Composite tree parallelism: language support for

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Storing objects in a spreadsheet does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Storing objects in a spreadsheet, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Storing objects in a spreadsheet will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3313726

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.