Microsoft – Matthew Charles Gauthier, Yaniv Inbar, Tyson Murray, Wentao Chen, Andy Verprauskus, Richard Jacques, Microsoft Technology Licensing LLC

Abstract for “Integrated method to create a refreshable web query”

The present invention allows the user to graphically create a refreshable Web query by selecting tabular data from a Web page. The refreshable Web Query command launches an Internet browser module within a Web Query dialog window that is open in the spreadsheet program. The user can then select at least one instance tabular data to be imported to the spreadsheet program graphically. This invention makes Web queries easier to use and is embedded into a software utility known as a Web Query Smart Tag utility (WQST). WQST allows users to create Web queries from any Internet browser module using one of many methods. The first, also known as a “Copy-Paste Web query”, is the most popular. The first method, also known as a?Copy-Paste Web Query?, is when a user copies the tabular data into a spreadsheet program. Next, he or she decides whether the Web Query command needs to be presented. A Web Query option will appear on a drop-down menu if the Web Query command is to be presented to the user. This second method is embedded within a module called the “Export to Microsoft Excel?” The module allows a user create a refreshable web query in the MICROSOFT Excel 2002 spreadsheet program from within the MICROSOFT INTERNET explorer browser program. This last method is called?Edit with Microsoft Excel?” This allows users to either open the entire file, or a specific portion to be imported into the MICROSOFT Excel 2002 spreadsheet program as a refreshable web query.

Background for “Integrated method to create a refreshable web query”

A Web query is a collection of cells or tabular data within a spreadsheet program such as the MICROSOFT Excel spreadsheet program whose content is derived directly from a Web site. The Web Query’s content has the same properties that the tabular data on the Web page. If the tabular data on the Web page has two decimal real numbers formatted, then the Web Query’s content will have two decimal real numbers. After the HTML content has been imported to the spreadsheet program as a web query, the user can update the tabular data using a predefined command. The Web Query is a powerful tool to create tables whose content can be updated manually or when a specific event occurs. The process of creating a Web Query in the MICROSOFT Excel spreadsheet program was complicated and cumbersome in the past versions. Usually, the user needed to create a text file known as an Internet Query (??IQY?) files that have specific structures or information. IQY files, which are text files with a specific structure, instruct the MICROSOFT Excel spreadsheet program on how to create a web query. Usually, the IQY files contain information like the Uniform Resource Locator(?URL) or other properties that determine how data is formatted and imported. However, in order to create an IQY file, the user must have information about the HTML document structure and the data objects. This includes the object identification number for the data objects they wish to import into the Web Query. To create an IQY file, the user must have basic programming skills. Many users found Web Query too difficult to use.

“The?MICROSOFT Excel 2000 introduced a solution to this problem. Microsoft Corporation of Redmond (Wash.) created a dialog box that allowed users to create Web Query using a spreadsheet program. This dialog box was used to import tabular data directly from a Web page. The dialog box allows users to create a Web Query by entering the address of a remote location, such as a uniform resources locator (?URL?). The Web page that contained tabular data or the HTML file was displayed. After identifying the location of the data, users were required to either import it in one of three ways. The first option is to simply import the entire HTML file or Web page. The user can also import any instances of tabular data found in the HTML file. The user can also import individual instances of tabular information. Importing the entire Web page and all tabular data is the easiest method to import tabular data. However, this can produce results the user does not like. Web pages often contain unnecessary information such as banners, graphics, ads, and other similar content that users don’t want. Users most often choose to import specific instances of tabular information. To select specific tabular data for import into the MICROSOFT Excel spreadsheet program, the user must provide an HTML identifier. The HTML identifier can be either a table identification string, or an index number that indicates the relative position of tabular data within an HTML document. If the tabular data were a TABLE object it would display the following format in the HTML file:

. . . Data. . .
. The identification string had to be manually determined by the user. The source of the HTML was the only way to determine the identification string. Sometimes, however, the identification string might not be available. In these cases, the user would need to find the index number. This is the ordinal number of the TABLE objects as it appears in the HTML document. After supplying all the data, a Web Query was generated. The content of the Web Query was then imported from the URL or HTML file that the user specified. The dialog box made it possible to generate an IQY file automatically. However, users still needed to be familiar with the structure of the Web pages to create a Web Query. The average user doesn’t have sufficient knowledge of HTML file structure to create a Web Query. This is because it is often too complicated and frustrating for them to create a Web Query that only addresses specific tabular data. Users would create a Web Query that queries the entire HTML page. Then, they would return all data to a blank worksheet dedicated to the Web Query. Users would then create worksheet hyperlinks from the Web Query worksheet to the data they were interested in analysing. The Web Query could have moved from the Web page’s location, which can lead to many errors. Imagine that a user wants to create a Web query to an entire page that contains financial data. They discover that cell D9 contained the stock quote they are most interested in. The user would then create a link from cell D9 of the Web Query sheet into another worksheet to perform their analysis. The Web page could have been updated by adding a banner ad or similar to make it appear new. In this case, the stock price quote would be stored in cell G11 of the Web Query sheet. Because the financial analysis is linked with cell D9, which contains incorrect data after the Web Query was updated, the result of the analysis will be different from what the user expected.

“Creating a Web query is not an intuitive process, so it can be challenging for the average user. The user needed to create a Web Query by opening a Web Query dialog from within MICROSOFT Excel spreadsheet program. Next, they had to manually enter the URL of the Web page that contained the tabular data they wanted to insert into their spreadsheet program. Most users didn’t realize they could access tabular information in an HTML file from their spreadsheet program. Instead, users exited the spreadsheet program to access the HTML document or Web pages through an Internet browser such as Microsoft’s INTERNETEXPLORER browser program. To transfer tabular data from the Web page to the MICROSOFT Excel spreadsheet program, users could select the tabular information and invoke Copy-Paste. To paste the data into a number of cells, the user had to switch between the Web browser and the MICROSOFT Excel spreadsheet program.

For example, let’s say a user wants to download stock data from an Internet website into a MICROSOFT Excel worksheet to do financial analysis. Using a Web browser, a user would open a new MICROSOFT Excel worksheet. The user will then load the web site that contains the stock information. Next, the user will select a table of stock data and invoke Copy. The user will then need to switch to the window containing MICROSOFT Excel spreadsheet program, choose a position on the worksheet where they want to insert the data, and then invoke the Paste command. The Copy-Paste method for importing tabular data will work if the contents of the imported table are static. Stock information is dynamic and constantly changing. To update tabular data, users had to use the Copy-Paste method in order to continue to import new data.

“Unfortunately, the Copy and Paste method to import tabular information is slow and inefficient. If the user wishes to refresh or update tabular data, they will need to repeat the Copy-and Paste process. Using the Copy-and-Paste method to update tabular data continuously can cause errors. The user might accidentally select a different table on the Web page or import tabular data. Either way, picking data to update other than the one originally selected can cause many errors in the user?s analysis. In these cases, creating a refreshable Web query would reduce the need to use the Copy-Paste method for updating tabular data. Many users don’t know that Web Query exists, or how to access it. Even for those who know about the Web Query feature, they find it too difficult to create a Web Query and use it with regularity.

“There is a need for an easier and more?discoverable’ way to create a Web Query. Method for creating a refreshable Web query. A further need exists in the art to provide a faster and more efficient way for users to find the option to create refreshed Web queries. A more efficient, integrated and logical way to create a refreshable Web Query using the MICROSOFT Excel spreadsheet program from a Web browser is still needed.

The present invention is generally described as meeting the above-described needs of making creating a Web Query easier and more intuitive for the average user. This invention improves the Web Query dialog box and allows users to create a Web Query graphically using the?What you see is what you get? feature. (?WYSIWYG?) technology. This improvement allows a user graphically to select a tabular data instance displayed on a Web page, and then import that tabular data into a MICROSOFT Excel 2002 worksheet as a Web Query. When a user commands to import the tabular data into a worksheet, the method starts. The command to import tabular data is received in a Web Query dialog box. Next, the user navigates to the URL that contains the tabular information he or she wants to import. The dialog box will then open and load the web page that contains the tabular data. The user selects one instance of tabular information to be imported into the spreadsheet program. This is usually done using a graphical approach. The tabular data can then be imported into the spreadsheet program without the user needing to provide any details about the HTML structure. You can also choose not to select tabular data. In this case, the entire Web page is imported into the spreadsheet program and used as a Web query.

“The invention offers a graphic method of selecting tabular data from a web page and then importing or copying it to another file such as another Web page or another application program. After the Web page has been loaded into the dialog box the HTML tree scans the HTML file to find all tabular data. An icon is created for each instance of tabular information encountered and it is associated with the particular tabular data. The icon is typically composed of a box with a yellow background and a black arrow that points at the tabular information. This graphic indicates to the user what objects in the HTML document are tabular.

“Next, calculate the absolute position for each tabular data instance. The icons are then placed proximate the tabular data’s absolute position. The icons are then added to the HTML document. An associated zIndex is set to the maximum permissible value. This corresponds to the highest level of the HTML file so that icons are displayed at the top of the Web page. The icons will remain visible for the user at all times. The icons give the user a visual representation for all possible tabular data that could be imported into the spreadsheet program.

“Once the icons have been displayed on the Web page, the Web Query dialog box will determine if the user has selected at most one instance of tabular information within the Web Page. The mouseover is when the cursor is placed over an icon that corresponds to an instance tabular data. The user will be provided with various graphical indicators upon this event. The icon’s visual appearance is changed, for example, by changing its background color. The user can then draw a highlight image. This is a box that surrounds the tabular data. The HTML document contains the dimensions of the tabular information. These are combined with the absolute location of the tabular to create the highlight image. To emphasize the tabular information, the outline color is then set to a predetermined amount. The highlight image has a transparent? GIF image. The user can still view the tabular data even though the image is placed over it. These graphical indicators are visible for as long as there is a mouseover. event occurs.”

“Next, the user will be asked if they have chosen to import at most one instance of tabular information into the spreadsheet program. The background color and visible indicator for tabular data will be altered if the user has chosen tabular data. The icon’s visual appearance is changed again. The icon could be, for example, a yellow box with a black arrow. The icon may change color if a mouseover occurs. The icon’s color may change to green if a mouseover? occurs. If the tabular data is selected by the user, the icon’s icon color may change from yellow to green. The background color of the tabular data can be changed from its original color, to a mixed color that includes the system color and the white. The background color can be changed to make it easier for the user to identify which tabular data has been selected. The tabular data is then imported by the user. A table identification string indicates the position of each tabular data instance within the HTML document. In the event that there is no table ID string associated with tabular data, the index numbers associated with tabular data are computed and recorded. The URL of the tabular data instances is passed along with either the index number or table identification string to the Web Query program.

“The invention can also determine if an HTML document contains multiple frames and create a Web Query that returns to a specific frame in the HTML document. Many Web designers divide their web page into multiple frames. One frame can be thought of as a window that separates the Web page into different parts of data. Each partition holds a single HTML file. This allows web authors to present large amounts of data in a meaningful and useful manner.

“When a Web site contains multiple frames, each frame of the page is scanned to identify each instance tabular data. The icons are then created and assigned to each instance of tabular information on each frame. Each frame has its own URL and window. Therefore, when creating a Web Query, the URL for the frame is used instead of the URL from the parent frame. Any tabular data previously selected in another frame is removed from a selected frame when a tabular instance is selected. The spreadsheet program can only import multiple instances of tabular information from a single frame. The limitation on the creation of Web queries within a single frame is an issue with previous versions of the Microsoft Excel spreadsheet program. It is not the invention.

“The present invention also meets the above-described need of making Web queries more accessible to a person using a software utility known as a Web Query Smart Tag utility (WQST). WQST allows users to create Web queries from their Internet browser using one of many methods. The ‘Copy-Paste Web query’ is the first. The first method, also known as the?Copy-Paste Web Query?, is when a user copies tabular data from a Web site into a spreadsheet program. After the user has copied the tabular data into a spreadsheet program, it is decided whether the refreshable Web Query command should now be presented to him. If the Web Query command is presented to the user, the option to create a Web Query appears in a drop-down menu. This is called an on-object interface (?OOUI?) Also known as a Smart Tag. Associated with the MICROSOFT EXCEL2002 spreadsheet program. The Smart Tag is associated with the tabular data, regardless of whether or not Web Query is necessary. This Smart Tag is a MICROSOFT OFFICE XP-wide ‘Paste Recovery? The U.S. patent application Ser. No. 09/620.876 entitled “On-Object User Interface”,? Filled on Jul. 21 2000 and are incorporated herein as a reference.”

When the user chooses to create a Web Query using the Smart Tag, the Web Query dialog is opened. The entire Web page is loaded into Web Query at the Clipboard location. To create a refreshed Web Query, the user can select the same tabular data again.

“Copy-Paste Web Query is available if the application supports CF_HTML data formats. This method determines if the first identifier tag that is associated with tabular data (which identifies which application program created the tabular) has been set to a specific value. The WQST utility will retrieve a URL from the Web site that contains the tabular data. If the first tag is set to the given value, the WQST utility will then import the tabular data. The next step is to determine if the URL is properly formed. This is where it is determined if the URL contains any of the following string text:?http ://,? ?https://,? ?ftp://,? ?ftp://,? If the URL is correctly formed, the Smart Tag will present the option to create a refreshed Web Query. If any of the above steps fail, however, the Smart Tag will not present the option to create a refreshing Web Query.

“The WQST utility can also be embedded in an additional method called?Export To Microsoft Excel. The?Export To Microsoft Excel? The?Export to Microsoft Excel module allows a user create a refreshable web query in the MICROSOFT XCEL 2002 spreadsheet program from within the MICROSOFT INTERNET explorer browser program. You can create a refreshed Web Query by using the?Export To Microsoft Excel? option. The user places the cursor on a tabular data instance in a Web page that is open in the MICROSOFT EXPLORER browser program. The user then activates the context menu by pressing the right mouse button. Next, the user selects “Export to Microsoft Excel?” The context menu launches the MICROSOFT Excel 2002 spreadsheet program. At the time that the cursor was placed over tabular data, the user chose the “Export to Microsoft Excel?” option. The tabular data is then exported to MICROSOFT Excel 2002 as a refreshable web query.

“The WQST utility could also be embedded into a third module called?Edit with Microsoft Excel. The?Edit With Microsoft Excel? module allows you to open the entire file or select a portion of it. The?Edit with Microsoft Excel? module allows a user the ability to open an entire file or select a portion to be imported into the MICROSOFT EL 2002 spreadsheet program as a refreshable web Query. The HTML document can be loaded directly into the MICROSOFT Excel 2002 spreadsheet program if it was created using the MICROSOFT 2002 spreadsheet program. If the HTML page was not created with the MICROSOFT Excel 2002 spreadsheet program, the module automatically creates a new sheet and opens the Web Query dialog box. This allows users to create a Web Query for the entire page or specific tabular data.

To begin creating the refreshable Web Query, navigate to the HTML document desired in the MICROSOFT EXPLORER browser application. Next, the user invokes the Edit drop-down menu from within the MICROSOFT InTERNET Explorer browser program. Next, the user selects?Edit with Microsoft Excel? command. The?Edit with Microsoft Excel’ command is available. The?Edit with Microsoft Excel? module determines if the HTML document was created using MICROSOFT Excel 2002 or another Web development tool by examining the identification tag attached to the HTML document. The identification tag indicates which Web development program was used in creating the HTML document. The value of the identifier tags indicates whether the MICROSOFT Excel 2002 spreadsheet program was used in creating the HTML document. If so, the?Edit With Microsoft Excel? function will be activated. Module opens the MICROSOFT Excel 2002 spreadsheet program and loads all HTML documents within a MICROSOFTEXCEL2002 workbook.

If the identifier tag indicates the HTML file was created by another Web development program, then the?Edit With Microsoft Excel? command will be used. Module launches the MICROSOFT EXCEL 2002 spreadsheet application, creates a workbook, and opens a Web Query dialog box. It is preloaded with the URL for the HTML document. You can choose to select the entire Web page or a specific section of tabular data that you wish to import into the Web Query.

The following description will detail the exemplary embodiments, as well as the attached drawings and claims. It will be apparent that the invention overcomes the drawbacks of existing methods for creating refreshable Web query queries.

“The invention is directed to a method that allows a user to graphically choose an object (i.e. tabular data) from a Web site and then import it into a spreadsheet program. The?MICROSOFT Excel 2002 is an example embodiment of the invention. spreadsheet program, which was manufactured by Microsoft Corporation of Redmond (Wash).

The exemplary embodiment will be described in terms of a program and an OS running on a personal computing device. However, those who are skilled in the art will know that the present invention can also be used in conjunction with other programs for other types. The present invention can be used in either a standalone or distributed computing environment. Program modules can be physically stored in different memory storage devices. Execution may take place locally as a stand-alone operation or remotely via a client/server model. These distributed computing environments can be described as local area networks within an office, enterprise-wide computer network, or the global Internet.

“Referring now, to the drawings in which like numerals signify like elements throughout the various figures, aspects of this invention and the exemplary operating area will be described.”

“Exemplary Operating Environment.”

“FIG. “FIG. Although the invention will be discussed in relation to an application program running on an operating system and a personal computer, the skilled in the art will know that it can also be used in combination with other modules. Program modules generally include routines, programs and components. Program modules are programs that execute specific tasks or provide abstract data types. The invention can also be used with multiprocessor systems, hand-held devices, handheld computers, microprocessor-based consumer electronics, microprocessor-based, programmable consumer electronics, mainframe computers, minicomputers, mainframes and other configurations. It may also be used in distributed computing environments, where tasks are performed remotely by processing devices linked via a communications network. Program modules can be stored in both local and remote memory storage devices in a distributed computing environment.

“With reference to FIG. 1. An exemplary system to implement the invention comprises a conventional personal computer 20 with a processor unit 21, system memory 22 and a system bus 23, which couples the system memory to processing unit 21. The system memory 22 contains read-only memory (ROM), 24 and random access memories (RAM) 25. ROM 24 contains the basic input/output systems 26 (BIOS) that allow information to be transferred between elements of the personal computer 20. This includes routines such as those used during startup. A hard disk drive 27 and a magnetic drive 28 are included in the personal computer 20, which can read or write to removable disks 29 and 30 respectively. An optical disk drive 30 is also included, which can be used to read or write to optical media 31 or CD-ROM disk 31. The system bus 23 is connected to the hard disk drive 27, magnetic drive 28 and optical disk driver 30 by a hard drive drive interface 32, 33 and 34 respectively. These drives and the associated computer-readable media are nonvolatile storage devices for the personal computer 20. While the above description of computer-readable media refers to hard drives, removable magnetic disks and CD-ROM disks, those skilled in art should appreciate that other media types which can be readable by a personal computer such as magnetic cassettes flash memory cards digital video disks and Bernoulli cartridges may also be used in this exemplary operating environment.

There may be a number of program modules stored on the drives and RAM 25, such as an operating system 35, one, or more, application programs 36, like the WQST (Web Query Smart Tag), utility 100, other module 37, and program data 38. The personal computer 20 can be used to enter commands or information via a keyboard 40, and pointing devices such as a mouse42. Not shown are a microphone and joystick as well as a satellite dish, scanner, and satellite dish. These input devices and others are connected to the processing device 21 via a serial port interface 46. This interface is coupled to the system buses, but can also be connected using other interfaces such as a universal serial bus or a game port. An interface such as a video adapter 48 connects a monitor 47 or any other display device to the system bus 23, which is connected to the processor 21. Personal computers often include additional peripheral output devices, such as speakers and printers.

“The personal computer 20 can operate in a networked environment by using logical connections with one or more remote computers such as a remote computer49. Although FIG. 50 shows only a 50-byte memory storage device, the remote computer 49 could be a server or router. 1. FIG. 1 shows the logical connections. FIG. 1 shows a local area network 51 and a wider area network 52. These networking environments are commonplace at offices, in enterprise-wide computer networks and Intranets, as well as the Internet.

The personal computer 20 connects to the LAN 51 via a network interface 53 when it is used in a LAN networking setting. The modem 54 is typically included in a personal computer 20 when it’s used in a WAN network environment. The serial port interface 46 connects the modem 54 to the system bus 23, which can be either internal or external. Program modules, or portions thereof, depicted relative the personal computer 20 may be stored in the remote storage device. You will appreciate that the network connections shown here are only an example and that other methods of connecting the computers can be used.

“Exemplary Embodiments for the Invention”

“Web Query Dialog”

The Web Query dialog makes it easier to import objects from a Web site into an application program. The Web Query dialog lets users select tabular data from a Web site that they want to import into a spreadsheet program such as Microsoft’s MICROSOFT Excel 2002 spreadsheet program. A Web Query dialog box is displayed when the user chooses to import tabular data from a Web site into MICROSOFT Excel 2002 spreadsheet. A Web browser control is located within the Web Query dialog box. It’s a dynamic link library (??DLL?) control, also known as ‘SHDOCVW.DLL. Hosting a Web browser in a Web Query dialog is well-known in the art. This application does not provide a detailed description of hosting a Web Browser control in a dialog.

“The Web browser control SHDOCVW.DLL hosts a Web module that is another DLL control known as?MSHTML.DLL. MSHTML.DLL is the browser component of Microsoft’s MICROSOFT EXPLORER web browser application program. The Web browser control can display Web pages in a graphical format using the MSHTML.DLL Web browsing module or any other Web surfing module by hosting it. The Web browser control can display Web pages. However, the Web surfing module allows the Web designer to interact programmatically with elements of the HTML document via a Document Object Model. (?DOM?)). The Web developer can programmatically examine the Web page’s collection of table elements and programmatically calculate the top and left coordinates for objects in the Webpage.

The MSHTML.DLL control can be used in the Web Query dialog to allow the user to visually navigate the Web page or select objects from it. Multiple Web pages can be linked in a graphic fashion using the HTML format. This allows users to click on an object in a Web page and open it by using a pointing device such as a mouse.

An initial Web page will be displayed once the Web browser control SHDOCVW.DLL has been opened in the Web Query Dialog box. Any Web site may be used as the initial page. Their MICROSOFT Excel 2002 spreadsheet program. If the user has not yet assigned a ‘home page? The default page for the user’s Web browser program is the Web page set by MICROSOFT EXCEL2002 spreadsheet program. If the user does not have a home page, the first page will load with a URL pre-coded into the Web Query.

“For example, if the user’s spreadsheet program is the MICROSOFT EXCEL 2002 spreadsheet program, and the user’s Web browser program is the MICROSOFT INTERNET EXPLORER browser program, the initial Web page will be the URL stored at the registry location ?HKey_Current_User\\Software\\Microsoft\\office\\10.0\\Excel\\Options\\WebQuery HomePage.? If this registry entry does not exist, then the registry location ?HKey_Current_User\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page,? This contains the initial web page of the user’s MICROSOFT Internet Explorer browser program. This registry location is not required to load the dialog box. If this registry location is not available, the dialog box will be loaded with a predetermined URL such as?http://www.msn.com? After the page has been loaded, users can navigate to any page on the Web that contains tabular data. They can either graphically hot-link to another site or manually enter the URL.

Another alternative is to select the URL desired from a drop-down list that lists the most visited Web sites. The user creating a Web Query will navigate to a Web site that contains tabular information. However, the Web Query dialog box can be used to navigate to any other Web site on the World Wide Web.

The Web Query dialog box displays a Web page. Once the dialog box is activated, data objects such as tabular data are parsed. The activation of the Web Query dialog and the downloading of the Web site into the Web browser module located in the dialog box is the triggering event. After the Web page is loaded, the HTML document will be scanned for data objects such as tabular data, which can then be imported into MICROSOFT EXCEL2002 spreadsheet program. If the user creates a Web Query using the MICROSOFT Excel 2002 spreadsheet program, the Web site is scanned for tabular information when it is downloaded to the Web Query dialog box. The Web page is also scanned for graphical information if the user imports data into a presentation program such as the MICROSOFT POWERPOINT presentation software. For the purposes of this application, we will only be discussing how to import tabular data into the MICROSOFT Excel 2002 spreadsheet program. But, those who are skilled in the art will know that objects of other formats such as text and graphical can be imported into other applications programs that support these data formats without departing form the scope of the invention.

An icon is created for each instance of tabular information encountered and it is associated with the tabular. These icons allow the user to quickly identify any tabular data that can be imported into the spreadsheet program. Tabular data can be stored within one of the HTML tags such as PRE, XMP or LISTING. An icon is created for each of these tags in the HTML document and it is associated with each tag. A TABLE tag can be used to place placeholders or spacers within an HTML document, but it may not contain any data. It is therefore a good idea to remove any instances of TABLE tags being used as placeholders. Before associating an icon to tabular data stored within a TABLE tags, it is necessary to retrieve the horizontal and vertical dimensions. An icon will not be associated with a particular TABLE tag if either the vertical or horizontal dimension is below a threshold value. The threshold value for determining whether a TABLE tag can be used as a spacer is 8 pixels, which is the minimum dimension of standard text characters. Any TABLE object with a horizontal or vertical dimension less than 8 pixels will likely not contain meaningful data.

“Once an icon has been associated with each tabular data instance, the absolute location of the upper left corner of each tabular data instance is calculated. In HTML documents, the position of every object in the HTML document is usually stated relative to its parent object. The HTML document’s body is used to indicate the position of the parent object. To calculate the absolute position for each tabular data instance, the relative positions are taken from the document object model (?DOM?). The relative position for each tabular data instance is then added to its parent’s relative position. This gives us the total relative position of each tabular data instance. The absolute position for each tabular dataset is then calculated by adding the relative positions for each tabular file to the absolute location at the beginning of each Web page. This calculation is done twice: once for vertical or?up? This calculation is done twice: once for the vertical, or?up? position, and once again for horizontal, or ‘left? position. The absolute position of the upper left coiner for each instance tabular data is typically calculated. The absolute position of any part of the tabular data can be calculated without affecting the scope of the invention. After calculating the absolute position in the upper left corner, an icon will be inserted into the HTML document proximate the calculated absolute position. This allows the user to graphically associate the icon and tabular data.

“Now let’s move on to the figures. FIG. 2. This is how the Web Query dialog box 205 displays a Web site. The MICROSOFT Excel 2002 spreadsheet program displays the Web Query dialog box 205. The address bar 210 in the Web Query dialog box 205 displays the URL of the Web pages currently displayed. A series of commands buttons are also found in the Web Query dialog box 205, including an?GO! Button 215 to display the URL in the address bar, 210, and button 220 to go back. button 220 to display previous URLs. Dialog box 205 also includes an?IMPORT?? The dialog box 205 also contains an?IMPORT? button 235, which allows tabular data to be imported. A?CANCEL?? button 234 is available for cancelling the Web Query operation. Button 240 can be used to close the Web Query dialog box 205 and abort the Web Query operation.

“The dialog box205 also runs the Web browser control 225 (also known as SHDOCVW.DLL). The Web browser control 225 can host a Web browser module, or any other ActiveX documents such as word processors or spreadsheet programs. The Web browser control 215 hosts MSHTML.DLL which can parse and display HTML documents. The Web browser control 225 can display Web pages in the dialog box.

“FIG. 3. This is an illustration showing the typical screen display of the window 300 in a MICROSOFT Excel 2002 spreadsheet program. It shows the user selecting the option to import external data into a MICROSOFTEXCEL2002 worksheet. The MICROSOFT Excel 2002 window 300 has a drop-down menu 305 and a command 310. A viewing area 315 is also available in the MICROSOFT Excel 2002 window 300. The viewing area 315 allows you to view the contents of the MICROSOFT EXCEL 2002 software. It contains a variety of cells, including text, numbers and formulas.

“Associated with the MICROSOFT Excel 2002 window 300 is a?”New Web Query? dialog box 320, which appears in the spreadsheet program. The New Web Query dialog 320 has a standard address box 325 that includes the URL of a Web site and a viewing area 330 which displays the content of the Web site. Usually, the New Web Query option will show an initial URL in the address bar 325. Normally, the initial URL is the address of the user’s startup Web page contained in the registry key ?HKey_Current_User\\Software\\Microsoft\\Office\\10.0\\Excel\\Options\\WebQuery HomePage.? However, if the user did not store an initial startup Web page selected for the MICROSOFT EXCEL spreadsheet program, the Web page that is stored in the registry key ?HKey_Current_User\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page? Loaded as the homepage for the user’s Microsoft Internet Explorer browser program. However, if the URL address is not listed as the home page of the user’s MICROSOFT InTERNET EXPLORER program, then a predefined URL such as?www.msn.com will be used. The address bar is loaded with this URL. This URL is predefined and is “hard coded” In the MICROSOFT Excel 2002 spreadsheet program. The user can now navigate the Internet to find the page that contains the tabular data they want to import. You can either manually enter the URL into the address bar 325, or you can use a pointing tool to navigate the Internet. After selecting the right Web page, the downloaded file is saved to the Internet browser module. In the illustration, the address bar contains the URL ?http://finance.yahoo.com/q?s=msft&d=v1,? This is the URL associated with the Web site displayed in the viewing box 330.

A plurality of icons 340 are displayed in close proximity to each instance tabular data on the Web page. Each icon 340 gives the user a visual indication of which objects are tabular data. These can then be imported into the spreadsheet program. In the upper left corner, a icon representing the entire Web page 335 appears in the viewing area 330. This icon indicates that the entire Web page contents can be imported into the spreadsheet program. Each icon associated with tabular data 340 as well as the icon for the entire Webpage 335 have at least one visual attribute. This could be a color or symbol, text or combination of both. In the illustration, for example, each icon (335, 344) consists of an arrow enclosed by a box. The background color is yellow. These icons (335,340) allow users to quickly identify objects on the Web page that have tabular data. This allows the user to simply view the Web page in the New Web Query dialog box 320, and see a graphic representation of the elements that may be imported into the Web Query.

“FIG. 4. This is an illustration of a screen that shows the MICROSOFT Excel 2002 window 300. It was created after the user selected a tabular data instance from the Web page. Illustration shows that the cursor 345 can be seen over the icon 405 associated with tabular data 405. The cursor 345 must be placed over the icon 410 or any other icon (also known as a mouseover). The icon 410’s visual attribute is modified to a certain extent. In the figure and in the exemplary embodiment, for example, the background color changed from yellow to green when the cursor 345 was placed over the icon. This visual indicator shows the user the tabular data are available. A?mouseover’ event may also allow for a second indicator, such as a box 415 with the same dimensions as the tabular data. A second indicator may also be placed over the tabular information 405 associated with the icon. This second indicator is an additional visual sign that the user can use to indicate which tabular data they are interested in. GIF image 415 is the second indicator. GIF image 415 is a box that surrounds a transparent high-light image. The box is bordered with a color value that corresponds with a dark color (e.g. The bordered box contains a color value that corresponds to a dark color (e.g. A transparent GIF-formatted GIF image is used to show the interior of the box. Through the transparent GIF-formatted picture, the user can see the tabular data 405. A text box 420 can also be displayed to give additional information regarding the tabular data. The exemplary embodiment displays a text box with the instructions?Click here to select this table?. Other instructions are possible within the text box, as long as they do not alter the scope of the invention. If the tabular information is named, the text box could also contain the name of tabular data.

“FIG. 5. This is an illustration of a screen in the MICROSOFT Excel 2002 spreadsheet program. It illustrates the results of creating a refreshable web query in a MICROSOFT 2002 worksheet. The MICROSOFT Excel 2002 window 300 displays the tabular data 502 that was imported into the cells in the content window 315 (FIG. 3). A?External data? The menu box 506 is located adjacent to tabular data 502; it contains an Edit query button 506, and a?Data Range Property? Button 508, a button for?Query Parameters. Button 508, a ‘Query Parameters? Button 510, a ‘Refresh Data? button 512, a ‘Cancel Refresh? button 514, a ‘Refresh All? button 518. The?Refresh Data?” button 518 is selected. When the?Refresh Data? button 512 is clicked, the tabular information 502 will automatically be updated with any changes made to the Web page that contains this tabular data.

“FIG. “FIG. 3). Routine 600 starts at step 605, where a user selects to open a New Web Query dialogbox 320 (FIG. 3. From within the spreadsheet program. Step 605 is followed up by step 610. This is where the user is asked whether they want to create a new Web Query dialogue box or open an already existing one. If the user chooses to create a new Web Query dialogue box 320 then the?CREATE?? branch is followed. The?CREATE? branch is then followed to step 615. In this section, an initial Web page will be loaded in the New Web Query dialogbox 320. Any Web site may be used as the initial Web page. Their MICROSOFT Excel 2002 spreadsheet program. The home page of their MICROSOFT InTERNET Explorer browser program will be used to establish the first page in the Web Query dialog box. If the user doesn’t have a home page, however, it will be used as the initial page in the Web Query dialog box. The initial Web page that will be displayed is the one that the user has hard coded into the MICROSOFT Excel 2002 spreadsheet program. For example, the initial web page associated with the MICROSOFT EXCEL 2002 spreadsheet program stored in the registry location ?HKey_Current_User\\Software\\Microsoft\\Office\\10.0\\Excel\\Options\\WebQuery HomePage? The Web Query dialog box loads the first Web page. This key will not be used if the Web page does not exist. of the user’s MICROSOFT INTERNET EXPLORER stored in the registry location ?HKey_Current_User\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page.? However, if there is no URL in this registry location, a predetermined URL is stored into the MICROSOFT INTERNET EXPLORER spreadsheet program and loaded into the Web Query dialog box. For instance, if the user does not have an initial Web page designated as their default home page for their MICROSOFT INTERNET EXPLORER browser program, the URL ?http://www.msn.com,? The dialog box is loaded first. After the first Web page has been loaded into the dialog box, users can navigate freely the Internet and load the Web pages that contain the tabular data they wish to import into their MICROSOFT Excel 2002 worksheet.

Step 615 is followed up by step 620. In this step, the user selects tabular data from the web page and then imports it into the MICROSOFT Excel 2002 spreadsheet program. To select tabular data, the user can use a pointing device such as a mouse or a keyboard. To select tabular data, the user can also use other pointing tools, such as a stylus, pen, keyboard, and the light pen. The?TAB key may be used to move from one instance of tabular data to another. To move from one tabular data instance to another, the user may use the?TAB? key. After the cursor has been placed over the tabular data the user wishes to import into their MICROSOFT Excel 2002 worksheet, the user can then select the data. The mouse usually allows the user to select the data by clicking on a predefined button. Other methods for selecting tabular data can be used. For example, you could press the?ENTER key on the keyboard. You can also press the?ENTER? key on your keyboard or the stylus. While the discussion is focused on selecting one instance of data, it is important to understand that there may be multiple instances of tabular information within the Web page.

Step 620 is followed closely by step 625 in which the selected tabular information is imported into the MICROSOFT Excel 2002 worksheet as a Query Table. Usually, the user chooses the location within the MICROSOFT Excel 2002 worksheet where the Query tables will be found by placing the cursor in a cell closest to the desired location and pressing a predefined key or mouse button. Step 625 follows after the tabular data is imported into the MICROSOFT Excel 2002 worksheet. step.”

“Returning back to step 610, if the user didn’t choose to create a Web, but instead opened an existing Web query, the?EDIT?” The?EDIT? branch is then followed to step 630. In this case, the Web page that is associated with the existing Web Query will be loaded into the Web Query dialog. If the user has previously created a Web Query then the user can open that Web Query by selecting the Query tab in the spreadsheet program, and then invoking the EDIT command in the menu bar. After the Web page has been loaded into the Web Query dialogbox, routine 600 moves to step 620. Here the user can graphically choose at least one instance tabular data to edit, or import into the spreadsheet program to create a Web Query. These methods are identical to those used to select tabular data for import into an existing Web Query dialog. The next step is step 620. In this step, the selected tabular data will be imported into the MICROSOFT Excel 2002 worksheet. The?END? step is then followed by step 625. step.”

“FIG. “FIG.7” is a logic flow diagram that illustrates the routine 615 in FIG. 6 loads the Web page into a Web Query dialog box. Routine 615 starts at step 705, where an icon and an Event handler are created and associated with the entire Web site. A user can associate an icon with the entire Web site, and not just specific tabular data, to allow them to import it into a spreadsheet program.

Next, step 705 will be followed by step 710 in which the first tabular object is retrieved using the document object model (??DOM?). Tabular data can be stored in many different objects on a Web page. The DOM is scan for the TABLE, PRE and XMP objects. These objects can all store tabular data. The position of each object is recorded on the Web page when it is first encountered. All objects without tabular data (text, graphical, and video files) are ignored. These objects are ignored. These objects can be nestled in tabular data. In these cases, non-tabular information may be embedded within tabular. Non-tabular data can then be imported into the Web Query.

Next, step 710 will be followed by step 715. In this step, it is determined if the vertical and horizontal dimensions of the TABLE objects exceed a predetermined value. The TABLE objects can be used to hold tabular data and as placeholders or spacers in the Web page layout. These TABLE objects could be used to indicate instances of tabular data that can be imported into the spreadsheet program. This would make it more difficult, not easier, to create a Web query. If the TABLE object’s vertical or horizontal dimensions are less than a predefined value it is assumed that the object containing tabular information is being used as placeholder. TABLE objects used as spaces in a Web query are not considered possible objects. The exemplary embodiment uses eight (8) pixels as the predefined value for the horizontal and vertical dimensions. Because the Web page’s smallest possible text size is 8 pixels, eight pixels was chosen as the threshold. Any object with a width or height less than eight pixels is considered a spacer. While eight pixels is the default threshold value, those skilled with the art will know that any number of pixels can be used to determine if a TABLE tag is a merely spacer. This does not alter the invention’s scope.

If both horizontal and vertical dimensions are greater that the predefined value, then a?YES? is indicated. The branch continues to step 720. In this case, the tabular data object as well as its position in DOM are saved in a cache memory location.

Next, step 720 will be followed by step 725. This is where it is determined if the last tabular object in the DOM was retrieved. If the last tabular object in the DOM has been retrieved, the answer is ‘YES? The?YES? branch is then followed by step 730. In this case, the cache memory contains the first tabular data that was stored in the cache memory.

Step 730 is followed by step 735. In this step, an icon is created and associated with the tabular information. To make icons easier to understand, they must have at least one visual attribute. The visual attribute could be a color or a text character. A special character, a graphic object, or something else. In the example embodiment, each icon is composed of a right-pointing arrow enclosed within a yellow box with black borders. To ensure that icons remain visible to users, they must be placed on the HTML document’s highest layer. The zIndex value is the value that is associated with each object in an HTML document. It determines which layer the object will appear on and is called?maxint. The maximum value of the zIndex value is?maxint. Place the icons on the top layer of the HTML document. The icons will remain visible to the user in the Web Query dialog box.

Step 735 is followed up by step 740. This is where the absolute position of any object containing tabular information is calculated. Objects in HTML documents are typically defined using a parent-child hierarchical relation with the child object’s position given as an offset value relative to the parent object. An offset value is assigned to each parent object. tag of the HTML text. It is important to note that parent objects can also be child objects. The position of tabular data objects that are both parent and child objects is calculated relative to their parent object. The offset value is only given to a parent object that is not itself a child object. tag.”

Next, step 740 will be followed by step 745. In which case, each icon should be placed proximate each object that contains tabular data. The icons are located in the upper left corner (or closest) of each object that contains tabular information. However, those skilled in the art will recognize that icons can be placed anywhere that is proximate the object, including adjacent to any of the other corners or adjacent to the top, side, or bottom. The invention is not limited in scope. The icons are placed closer to the objects to present the tabular data in a more user-friendly and pleasing manner.

“Finally step 745 is followed step 750. In this step, it is determined if the last data object in cache memory has been reached. If the last tabular object in the cache memory is reached, the ‘YES? If the last tabular data object in the cache memory has been reached, the?YES? branch is followed to?END? step. If the tabular object that was last accessed on the Web page is not reached, the ‘NO? branch will be used. The?NO? branch is used to retrieve the next tabular object in the cache memory. Step 755 loops backwards to step 735. In which case, the process of adding an icon to the tabular object is repeated.

“Returning to Step 715, if either the horizontal nor vertical dimension of TABLE objects is less than the predetermined values, it is determined that TABLE objects contain no meaningful data and that the?NO? is set. The branch continues to step 725 where it is determined if the last tabular data item in the DOM is reached. If the last tabular object in the DOM is reached, the?YES! The?YES? branch is then followed by step 730. This is where the process of associating icons with each tabular data instance in the cache memory begins. If the last instance tabular data in DOM has not been reached, the?NO? is set. If the last instance of tabular data within the DOM was not reached, then the?NO? branch is followed. The next instance of tabular information is retrieved and the process for inserting icons into the Web page is repeated.

“FIG. “FIG. 7. This is where the absolute position of all objects containing tabular data are calculated. Routine 740 starts at step 805 where the relative position of each object containing tabular information is retrieved from DOM. In HTML documents, objects are typically set up in a hierarchy of parent-child relationships. Multiple child objects can be associated with each parent object in the hierarchical relation. Each child object can be a parent object, and may have multiple child objects. The HTML document’s top-most or highest-ranking parent object is the element. Each object that is a parent of the element. element is assigned a value relative to its absolute position element. Each subsequent child element’s position is determined by its relative value to its parent object. This means that each object’s position in the HTML document will be given as an offset relative its parent. The size of the Web Query dialogue box will determine the position of each tabular data instance. The Web Query dialog boxes can be resized so that the position of objects in the dialog box may change. Each time the Web Query dialog boxes are resized, the tabular data position must be recalculated.

“Step 805 follows by step 810 in which relative positions between child objects and parent objects are added together, starting with the object of curiosity all the way back up to the highest parent object which is the tag of the HTML text. If the tabular data is in a

Tag that is a child object Tag, then the position
The offset value is what gives tag its name. Another example is if tabular data is in a
Tag that is a child from a tag is a child of the <body> Tag, then the position <table> Tag is calculated by adding the offset value to the <table> Tag and the offset value <plaintext> tag. This calculates the absolute position for the object containing tabular data. Step 810 is then followed by the “END?” step.” </plaintext></table></table></body></plaintext></table></table></body></table></body></p><p style="padding-top:15px">“FIG. “FIG. Routine 620 starts at step 905, where the user determines whether they have placed the cursor over an icon associated with an instance tabular data. If the cursor has been placed over an icon, the?YES! The next branch takes you to step 910 where the icon’s visual attribute is changed. In the exemplary embodiment, for example, the visual attribute is the background color. This is set to yellow. The cursor hovers over the icon and is known as a mouseover. The background color will change from yellow to green when the cursor hovers over an icon. This visual feedback allows the user to select the tabular data associated that icon. </p><p style="padding-top:15px">Step 910 is followed up by step 915. In which case, a box is placed on top of the object containing tabular data. The box is placed in a ‘blank.gif’. The box is stored in a?blank.gif? The system’s high light color is used as the border attribute. The background attribute is set to ‘transparent’ or blank. Any tabular data or text below the box will be visible to the user. By setting the zIndex associated to the box to the maximum number allowed layers, the box will be placed on the third page. This value is?maxint? Minus 2 (maxint?) By placing the box below the HTML document’s maximum layer,?flickering? is prevented. When the highlight image is displayed, flickering will not occur. ?Flicker? If the zIndex of the highlighted image was higher than that of the icon, it would be placed on top of icon. This would cause icon to get a?mouseover’. This would cause the icon to become obscured. The mouseover event would cease when the icon is obscured. The highlighted image would disappear and the mouseover event would fire again, even though it has not moved. Flicker is caused by the repeated firing of a mouseover event. </p><p style="padding-top:15px">Step 915 is followed up by step 920. In this step, the user determines whether they have selected an object to import into the spreadsheet application by determining if there has been an ‘on click? An instance of tabular data has been affected by the event. If there is an?onclick? If an?on click? The branch is then followed to step 925, where the icon’s visual attribute is changed again. If an ‘on-click? event occurs, the icon associated with the tabular data changes from a right facing arrow to a checkmark on a green background. For example, if an?on-click? event occurs, the icon that is associated with tabular data changes from a right facing Arrow to a checkmark on green background. Step 925 is followed closely by step 930, where the background attribute for the object containing tabular information is changed. The object’s background color is changed from its original color, to a mixed color that includes the system high-light color and white. So that the original background attribute of an object can be restored if it is not selected, the memory stores the background attribute. The user can change the visual attributes of the icon or the background attribute to confirm that the tabular data is selected and available for import into the spreadsheet program. </p><p style="padding-top:15px">“Some Web pages may contain more information than can be displayed on one single page. Consequently, some Web pages can have multiple pages or frames. Multiple frames on a Web page are scanned to find tabular data. Icons are then created and associated with the frames. Each frame is unique and has its own URL. This means that you must use the URL of the frame instead of the URL for the Web Query. If a tabular instance has been previously selected from another frame, the previous instance is removed when a new tabular instance is selected from another frame. Multiple tables from the same frame cannot be selected and imported simultaneously. The Web Query will only load the frame containing the selected tabular information, not the entire Web page, if the user refreshes the tabular database. The Web Query Dialog does not allow tabular data to be imported from a single frame. This limitation is due to MICROSOFT Excel 2002 spreadsheet program. The Web Query Dialog, on the other hand, is capable of allowing users to choose and import tables from multiple frames. The limitation of only importing tables from a single frame is due to the inability of the MICROSOFT Excel 2002 spreadsheet program to transfer data between multiple frames. </p><p style="padding-top:15px">“Refreshable web query” </p><p style="padding-top:15px">“The invention could be embodied as a software utility. This may be referred too as the?Web Query Smart Tag? (WQST). This utility will be integrated into the MICROSOFT Excel 2002 and INTERNETEXPLORER 5.0 software programs. WQST allows users to create refreshed Web queries more quickly. Software utility is a term that refers to software. Software utility is a function, routine or dynamic link library (DLL), which refers to a program that can be used independently by other modules using a pre-defined set interfaces. A?utility’ can also be defined. A?utility? may be included in a computer operating system, application program, or Web development program. This invention includes any software module or system that performs these methods according to the specification. It is not restricted to a specific object configuration such as a dynamic library (DLL). The present invention is not limited to spreadsheet programs. However, those who are skilled in the art will recognize that it is also applicable to other programs that allow tabular data to be imported from Web pages. </p><p style="padding-top:15px">“WQST allows users to create refreshed Web queries from their Web browser programs using one of many methods. The?Copy -Paste Web query? is the first. This allows users to copy tabular data from a Web page and then import it into a spreadsheet program by using the Copy-Paste command. Another method is?Edit with Microsoft Excel? A user can select tubular data from a Web page by pressing the right mouse button and the cursor is in the Web browser program. This will display a context menu. This context menu allows the user to export tabular data to the MICROSOFT Excel 2002 spreadsheet program. </p><p style="padding-top:15px">“Edit with Microsoft Excel is the final method. This option is available in the MICROSOFT Internet Explorer Web browser program. When selected, it launches the MICROSOFT Excel 2002 spreadsheet program. This option can be accessed by opening the MICROSOFT EXPLORER Web browser and selecting the?Edit With Microsoft Excel? option. The drop-down menu in the Toolbar allows you to select this option. The file can be opened using the MICROSOFT EXCEL2002 spreadsheet program if it was created using the MICROSOFT EXCEL2002 spreadsheet program. If the Web page was made with another program, it is opened in a Web Query dialog box. The user can then choose the tabular data that they want to import into the spreadsheet program. </p><p style="padding-top:15px">“Typically, the data block that the user wants to copy from the Web site to the spreadsheet program will be tabular in nature. This is because spreadsheet programs are designed to handle tabular data. Spreadsheet programs can manipulate text and graphics, however. Although the WQST utility was designed to manipulate tabular data for this application, those skilled in the arts will be able to recognize that a refreshable Web Query can be created using any type of data. Below is a detailed description of each method. </p><p style="padding-top:15px">“Copy-Paste Web Queries” </p><p style="padding-top:15px">“Copy-Paste Web Query is the first method to generate a Web Query with the WQST utility. Copy-Paste Web Query offers an option to use the Paste Recovery on object user interface (OOUI) or Smart Tag called ‘Create Refreshable Web Query. The Paste Recovery Smart Tag appears as a drop-down menu next to the data block that was pasted into an electronic file. This is a MICROSOFT Excel 2002 workbook. To display different ways that data can be copied into a file, the user can select the Paste Recovery Smart Tag. The user can choose to copy the data in text or HTML, without needing to undo the Paste Special command. </p><p style="padding-top:15px">The Copy-Paste Web Query module activates when the user selects tabular information using a pointing device such as a mouse to copy from a Web site in an Internet browser module. It then invokes the Paste command within the MICROSOFT Excel 2002 spreadsheet program. The Copy-Paste Web) Query module inspects the tabular data to see if it’s a predefined format. In this case, it checks the MICROSOFT Excel 2002 spreadsheet program. The CF_HTML data format can be used to transfer data between applications using the Clipboard. While the Copy-Paste Web Query module uses CF_HTML format, the skilled in the art will recognize that other formats are possible, which allow data to be transferred between applications. </p><p style="padding-top:15px">If both of these conditions have been met, namely, the Paste command was invoked and the format for the Clipboard data is CF_HTML then the Copy-Paste Web Query Module is enabled. First, the Copy-Paste Web Query module determines if a first identifier tags in the registry associated to the tabular data have been set to a predefined Value to disable the Refreshable Web Query option of the Smart Tag. Specifically, the registry key ?HKey_Current_User\\Software\\Microsoft\\Office\\10.0\\Excel\\Options DisablePasteAsWebQuery? It is checked to see if the registry key contains a predetermined value. If the registry key contains the value to disable the Web Query, then the option to create a Refreshable Web Query will not be presented to the user via Smart Tag. Instead, the tabular data will be pasted into the MICROSOFT Excel 2002 spreadsheet program in the normal manner. </p><p style="padding-top:15px">“But, if the Administrative Registry Key has not been disabled, the Copy-Paste web Query module will determine if a second identifier tag within the registry has been set to one among several predefined values. The Copy-Paste web Query checks whether the flag that is associated with tabular data, which is used to identify the program used to create tabular data, is set to one or more predefined values. The Copy-Paste Web Query module checks METAL tags to see if the MICROSOFT Excel 2002 spreadsheet program or any other MICROSOFT OFFICE XP applications, such as the MICROSOFT WORD or MICROSOFT POWERPOINT or MICROSOFT FRONTPAGE, were used to create tabular data. The Copy-Paste Web query module inspects the?ProgID. META tag in the header of CF_HTML that specified the source application program. This tag indicates that the MICROSOFT OFFICE XP spreadsheet program or MICROSOFT EXCEL2002 spreadsheet program created the tabular data. The tabular data is then copied into the spreadsheet program in the usual manner, without the need to create a Web Query. </p><p style="padding-top:15px">If, however, Copy-Paste Web Query modules determine that the tabular information was not copied from a MICROSOFT OFFICE XP program, then Copy -Paste Web Query module also checks whether the SourceURL string associated to the tabular content in CF_HTML contains a properly formed URL. The Copy-Paste Web Query module examines the SourceURL string and determines if it contains any of the following values:?http ://?,??https ://?,???htp ://?,,?file ://? at the URL’s beginning. The presence of one of these SourceURL strings indicates that the tabular information is associated with a valid URL. This URL can be accessed later to modify the tabular. The Copy-Paste Web Query module will not offer the possibility to create a refreshable Web Query. Instead, the SourceURL string must be well formed. Otherwise the tabular data can be copied into the spreadsheet program as usual. If the URL for the tabular data is properly formatted, the Copy-Paste web Query module will paste the tabular data into a spreadsheet program and display the Create Refreshable Query option. To create a refreshed Web Query, use the Paste Recovery Smart Tag. </p><p style="padding-top:15px">“Once the user has opened the Paste Recovery Smart Tag they can select the?Create a Refreshable Web Question? option. option. The?New Web Query dialog box is a Web Query dialog box. The spreadsheet program opens the Web Query dialog box. The Web Query dialog box includes the Internet browser module pre-navigated at the same SourceURL as the CF_HTML. The user can then select the tabular data that he or she wishes to import into the spreadsheet program by selecting it again. Alternativly, the user can reselect tabular data by clicking on the icon that corresponds to the tabular information and then invoking Import. The Copy-Paste WebQuery module creates a link between tabular data on the Web page and tabular data in a spreadsheet. This link allows users to update their spreadsheet data automatically by selecting a Refresh command in the Data menu. </p><p style="padding-top:15px">“FIGS. The steps of creating a Web Query with the Copy-Paste Web Query Module are illustrated in 10-14. </p><p style="padding-top:15px">“FIG. “FIG. INTERNET EXPLORER window 1,000 includes a drop-down menu 1005, a command 1010 and an address 1015. The viewing area 1020 shows the contents of the Web site. The illustration shows tabular data 1025 in the viewing area 1020. A subset of 1030 was selected for import into a Microsoft Excel 2002 worksheet. This Web query is used to point at 1035. The present illustration shows only a portion of the tabular information being selected. However, those who are skilled in the art will be able to see that the entire tabular 1020 could be chosen and pasted into the MICROSOFT Excel 2002 worksheet. </p><p style="padding-top:15px">“FIG. 11. This is an illustration of a MICROSOFT Excel 2002 window 1100. It shows how the subset 1030 from the tabular data 1025 would look after it has been pasted into MICROSOFT Excel 2002 worksheet. The MICROSOFT Excel 2002 window 1100 has a drop-down menu and a series command bars 110, 1115. View the contents of MICROSOFT Excel 2002 worksheet in the viewing area 1120. This area typically contains a few cells arranged in tabular format. The pointing device 1035 (FIG.) is also contained in the window 1100. 10). FIG. 10 illustrates the subset 1025 from the tabular data 1020. After the 10 has been copied into the viewing area 1100, it is displayed. A drop-down menu icon is also located in the viewing area 1120. This icon is known as a Paste Recovery smart tag 1125. The Paste Recovery Smart Tag 1115 is located proximate the subset 1025 in the tabular data 1020 or any other tabular information that is pasted into a spreadsheet program. The Paste Recovery Smart Tag 1125 offers a drop-down menu which allows users to choose from a variety of data formats that can be used in the file. The user can choose to copy the data in text or HTML, without needing to undo the Paste Special command. Tabular data 1030 subset appears “shaded?” or?grayed?” “Until the data is pasted using one the Paste variants from Smart Tag 1125.” </p><p style="padding-top:15px">“FIG. 12. This is an illustration of a screen in the MICROSOFT Excel 2002 spreadsheet program that illustrates the results of a user activating the Paste Recovery Smart Tag 1125. The Paste Recovery Smart Tag 1125 invokes a Paste Recovery Smart Tag drop-down menu 1200 that displays a variety of Paste commands. In the illustration, the Paste Recovery Smart Tag dropdown menu 1200 shows a?Keep source Formatting? command 1205, a?Math Destination Formatting?” command 1205 and a ‘Math Destination Formatting? . . ? Command 1215 was added by Copy-Paste Web Query module. It allows users to create a Web Query for importing data from a Web site. </p><p style="padding-top:15px">“FIG. 13 is an illustration of a screen in the MICROSOFT Excel 2002 spreadsheet program that illustrates the result of a user selecting?Create a Refreshable Web Query?. . . ? Command 1215 displayed in Paste Recovery Smart Tag dropdown 1125 (FIG. 11). The Copy-Paste Web Query module opens a Web Query Dialog Box 1300 within the spreadsheet program windows 1100. The Web Query dialog 1300 has an address bar 1305 which displays the URL of the Web site currently being viewed, and a content windows 1310 which displays the contents of Web pages previously opened in the Internet browser window 1000 (FIG. 10). Tabular data 1020 (FIG.10) is contained in the content window 1310. 10) were previously selected. A number of icons 1315 are also available in the Web Query dialog box that correspond to the tabular data that is inserted into the Web page using the Web Query. You can choose one or more icons that are associated with tabular data. The Import command is invoked by the user using either a pointing device or the keyboard. This creates a refreshable Web Query between tabular data on the Web page and tabular data 1020 that has been pasted into the content widow 1120 in the MICROSOFT Excel 2002 worksheet. </p><p style="padding-top:15px">“FIG. “FIG. 11) illustrating how to create a refreshable Web Query 1400. Tabular data 1030 is displayed in the MICROSOFT Excel 2002 window 1100 (FIG. 10) are imported into the cells shown in the content window 1120. (FIG. 11). An?External data? Menu box 506 (FIG. 5) is displayed next to tabular data 1030. It contains an EditQuery button 506 and a?Data Range Property? Button 508, a button for?Query Parameters. Button 508, a ‘Query Parameters? Button 510, a ‘Refresh Data? button 512, a ‘Cancel Refresh? button 514, a ‘Refresh All? button 518. The?Refresh Data?” button 518 is selected. When the?Refresh Data? button 512 is clicked, the tabular information 502 will automatically be updated with any changes made to the Web page that contains this tabular data. </p><p style="padding-top:15px">“FIG. “FIG. A logic block diagram showing how to apply the Copy-Paste Web Query module in a spreadsheet program is shown in FIGS. 15A and 15. FIG. FIG. 15 shows a logic flow diagram that illustrates a routine 1500 to apply the Copy-Paste Web Query module in order to create a refreshable Web Query using the MICROSOFT Excel 2002 spreadsheet program. The logic flow diagram in FIG. The processing unit 21 (FIG. 15) executes the logic flow diagram of FIG. 1) as per instructions that have been incorporated in the WQST utility 100. </p><p style="padding-top:15px">“Routine 1500” begins at step 1505. Here, the tabular data from a Web page that is open in an Internet browser will be pasted into a spreadsheet. When the Paste command is used to import tabular data into MICROSOFT Excel 2002 spreadsheet program, the data are placed in a temporary memory location known as a Clipboard. After the Paste command is finished, the tabular data in the Clipboard is copied to a place on a MICROSOFT Excel 2002 worksheet that the user has chosen. After the Paste command is completed, the tabular data will remain on the Clipboard. This allows the user to paste the same data multiple time. </p><p style="padding-top:15px">Step 1505 is followed up by step 1510. In this step, the Copy-Paste Web Query determines whether tabular data copied to the Clipboard was formatted as CF_HTML. The CF_HTML data format can be used to transfer data via the Clipboard between MICROSOFT OFFICE XP apps. While Copy-Paste Web Query uses the CF_HTML data format, those skilled with the art will recognize that other formats are possible to transfer data between applications without affecting the scope of the invention. If it is determined that tabular data cannot be formatted as CF_HTML then the?NO? If the tabular data cannot be formatted as CF_HTML, then the?NO? branch is followed to?END? step.” </p><p style="padding-top:15px">“However, if it is determined that the tabular data copied onto the Clipboard can also be formatted in CF_HTML then the?YES?” The branch is then followed up to step 1515. Step 1515 determines whether the registry key associated to the tabular data, namely, the Administrative Registry Key has been disabled. If the Administrative Registry Key is set to disable, then the?YES! If the Administrative Registry Key has been set to disable, the?YES? branch is followed up to the??END? step.” </p><p style="padding-top:15px">“On the other side, the Administrative Registry Key must not be set to disable. The?NO? “On the other hand, if the Administrative Registry Key has not been set to disable, the?NO? branch is followed to step1520. In this step, it is determined whether tabular data was created using an application program other MICROSOFT OFFICE XP program such as the MICROSOFT WORD or MICROSOFT ACCESS application program. The Copy-Paste Web query module checks the?ProgID. META tag in the header of CF_HTML that specifies the source application program. This flag indicates that this flag has been enabled. It means that either the MICROSOFT OFFICE XP spreadsheet program or another MICROSOFT OFFICE XP program (i.e. the MICROSOFT WORD or MICROSOFT POWERPOINT 2002 MICROSOFT POWERPOINT or MICROSOFT ACCESS program) created the tabular information and the?YES! The?END? branch is followed. step.” </p><p style="padding-top:15px">“If the identifying tag indicates the tabular data was created using a non-MICROSOFT OFFICE XP program, the?NO? The Copy-Paste Web Query module then determines whether the URL that is associated with tabular data has a predetermined prefix or is well-formed. The Copy-Paste Web query module checks whether the SourceURL string at URL’s beginning contains the values?http ://?,?https ://?,?htp ://?,, or?file ://?. at the URL’s beginning. This ensures that tabular data is linked to a valid URL that can be accessed later to update it. If the URL source is not properly formed, the?NO? If the source URL is not well formed, then the?NO? branch is used to follow the?END? Schritt. step. The URL source is important. If it isn’t well-formed, any attempts to refresh the data later will fail because the correct URL won’t be available. Instead of making it difficult for the user, WQST imports the data in the normal way. </p><p style="padding-top:15px">“If the URL is correct, Copy-Paste Web Query module will follow the?YES! Branch to step 1530. Step 1530 The Copy-Paste WebQuery module displays the “Create Refreshable WebQuery?” The Paste Recovery Smart Tag allows users to not only copy and paste data but also opens the Web Query menu. </p><p style="padding-top:15px">Step 1530 is followed up by step 1535. This is where the user is asked if they selected the refreshable Web Query option on the Paste Recovery Smart Tag. If the user didn’t select the refreshable Web query option from Paste Recovery Smart Tag then the?NO? message will be displayed. If the user did not select the refreshable Web Query option from Paste Recovery Smart Tag, then the?NO? branch is followed to?END? step. If the user has selected the refreshable Web query option, the?YES! button will be displayed. The branch continues to step 1540. In this dialog box, the Copy-Paste Web Query module opens a Web Query dialogue box in the spreadsheet program and pre-loads URLs from the Web pages currently open in the Internet browser module. Step 1540 is followed up by step 1545. In this case, the user can select the same, different or multiple instances tabular data from the spreadsheet program to create a refreshed Web Query. </p><p style="padding-top:15px">Step 1545 is followed up by step 1550 in which the Copy/Paste Web Query module creates a refreshed Web Query. The user selects the tabular data in the Web Query dialog box, then selects a predefined option to create the refreshable Web Query. The Copy-Paste WebQuery module will paste the tabular data in the same spot as the original paste when the user clicks on the button. The Copy-Paste Web Query module creates a link between tabular data that has been pasted into the spreadsheet program and tabular data in an Internet browser module. Step 1550 is then followed by step?END? step.” </p><p style="padding-top:15px">“FIG. “FIG. 15 creates a refreshed Web Query. Routine 1550 starts after FIG. 15 and begins at step 1605. This is where it determines whether one instance of tabular data has been selected on the Web page. If only one table has been selected, the answer is?YES? The branch continues to step 1610 where the determination of whether a redirection tags is associated with tabular data in an Internet browser module is made. The U.S. patent application Ser. No. No. July. 21. 2000, herein incorporated as a reference.” </p><p style="padding-top:15px">“If the tabular data is associated with the redirection tag, the?YES?” The branch continues to step 1625. In this case, the Copy-Paste Web Query module associates a redirection tag and the tabular data pasted into the spreadsheet program. The?END? step is next. step. However, if there is no redirection tag attached to the tabular data the?NO? If there is no redirection tag associated with the tabular data, the?NO? branch is used to get to step 1615.” </p><p style="padding-top:15px">“At step 1615 the Copy-Paste Web Query module determines if a tabular identifier has been associated with the tabular information. Typically, tabular information contained in HTML formatted files (including CF_HTML), will be assigned a Tabular Data Identifier that identifies the location of the tabular data relative to other tabular. This tabular data identifier is used by other programs and programmers to quickly access and edit particular tabular data. There are certain situations where the tabular data ID may need to be changed or deleted. Tabular data identifiers below newly added tabular information will be incremented one by default when tabular is being inserted into files. The Copy-Paste WebQuery module examines the tabular information copied from the Internet app module to determine if the tabular identifier is associated. If the tabular data identifier has been associated with the tabular, the answer is a?YES? The branch continues to step 1630 where the tabular identifier will be associated with the tabular information pasted into the spreadsheet program. The?END? command is followed by step 1630. step.” </p><p style="padding-top:15px">“However, if a tabular identifier is not associated to the tabular information, the?NO? The branch continues to step 1620. In this case, the Copy-Paste Web Query module assigns a numerical identifier which is associated tabular data copied from an Internet browser module. An index number is always possible in HTML formatted files. The index number refers to the order that the objects are placed in the file. This allows Internet browsers to position the objects correctly on the screen. This index number can be used by the Copy-Paste Web Query module to identify tabular data copied from the Web site and link it with the tabular information in the spreadsheet program. If there is no tabular number or redirection flag associated with tabular information on the Web page, Copy-Paste WebQuery module can use this index number to link tabular data from the spreadsheet to the tabular content in the browser module. The Copy-Paste Web Query module retrieves the index number and opens the URL to retrieve the tabular information from the Web page. The?END? step is followed by Step 1620. step.” </p><h3>Summary for “Integrated method to create a refreshable web query” </h3><p style="padding-top:15px">A Web query is a collection of cells or tabular data within a spreadsheet program such as the MICROSOFT Excel spreadsheet program whose content is derived directly from a Web site. The Web Query’s content has the same properties that the tabular data on the Web page. If the tabular data on the Web page has two decimal real numbers formatted, then the Web Query’s content will have two decimal real numbers. After the HTML content has been imported to the spreadsheet program as a web query, the user can update the tabular data using a predefined command. The Web Query is a powerful tool to create tables whose content can be updated manually or when a specific event occurs. The process of creating a Web Query in the MICROSOFT Excel spreadsheet program was complicated and cumbersome in the past versions. Usually, the user needed to create a text file known as an Internet Query (??IQY?) files that have specific structures or information. IQY files, which are text files with a specific structure, instruct the MICROSOFT Excel spreadsheet program on how to create a web query. Usually, the IQY files contain information like the Uniform Resource Locator(?URL) or other properties that determine how data is formatted and imported. However, in order to create an IQY file, the user must have information about the HTML document structure and the data objects. This includes the object identification number for the data objects they wish to import into the Web Query. To create an IQY file, the user must have basic programming skills. Many users found Web Query too difficult to use. </p><p style="padding-top:15px">“The?MICROSOFT Excel 2000 introduced a solution to this problem. Microsoft Corporation of Redmond (Wash.) created a dialog box that allowed users to create Web Query using a spreadsheet program. This dialog box was used to import tabular data directly from a Web page. The dialog box allows users to create a Web Query by entering the address of a remote location, such as a uniform resources locator (?URL?). The Web page that contained tabular data or the HTML file was displayed. After identifying the location of the data, users were required to either import it in one of three ways. The first option is to simply import the entire HTML file or Web page. The user can also import any instances of tabular data found in the HTML file. The user can also import individual instances of tabular information. Importing the entire Web page and all tabular data is the easiest method to import tabular data. However, this can produce results the user does not like. Web pages often contain unnecessary information such as banners, graphics, ads, and other similar content that users don’t want. Users most often choose to import specific instances of tabular information. To select specific tabular data for import into the MICROSOFT Excel spreadsheet program, the user must provide an HTML identifier. The HTML identifier can be either a table identification string, or an index number that indicates the relative position of tabular data within an HTML document. If the tabular data were a TABLE object it would display the following format in the HTML file: <table id="?identification"> . . . Data. . . </table> . The identification string had to be manually determined by the user. The source of the HTML was the only way to determine the identification string. Sometimes, however, the identification string might not be available. In these cases, the user would need to find the index number. This is the ordinal number of the TABLE objects as it appears in the HTML document. After supplying all the data, a Web Query was generated. The content of the Web Query was then imported from the URL or HTML file that the user specified. The dialog box made it possible to generate an IQY file automatically. However, users still needed to be familiar with the structure of the Web pages to create a Web Query. The average user doesn’t have sufficient knowledge of HTML file structure to create a Web Query. This is because it is often too complicated and frustrating for them to create a Web Query that only addresses specific tabular data. Users would create a Web Query that queries the entire HTML page. Then, they would return all data to a blank worksheet dedicated to the Web Query. Users would then create worksheet hyperlinks from the Web Query worksheet to the data they were interested in analysing. The Web Query could have moved from the Web page’s location, which can lead to many errors. Imagine that a user wants to create a Web query to an entire page that contains financial data. They discover that cell D9 contained the stock quote they are most interested in. The user would then create a link from cell D9 of the Web Query sheet into another worksheet to perform their analysis. The Web page could have been updated by adding a banner ad or similar to make it appear new. In this case, the stock price quote would be stored in cell G11 of the Web Query sheet. Because the financial analysis is linked with cell D9, which contains incorrect data after the Web Query was updated, the result of the analysis will be different from what the user expected. </p><p style="padding-top:15px">“Creating a Web query is not an intuitive process, so it can be challenging for the average user. The user needed to create a Web Query by opening a Web Query dialog from within MICROSOFT Excel spreadsheet program. Next, they had to manually enter the URL of the Web page that contained the tabular data they wanted to insert into their spreadsheet program. Most users didn’t realize they could access tabular information in an HTML file from their spreadsheet program. Instead, users exited the spreadsheet program to access the HTML document or Web pages through an Internet browser such as Microsoft’s INTERNETEXPLORER browser program. To transfer tabular data from the Web page to the MICROSOFT Excel spreadsheet program, users could select the tabular information and invoke Copy-Paste. To paste the data into a number of cells, the user had to switch between the Web browser and the MICROSOFT Excel spreadsheet program. </p><p style="padding-top:15px">For example, let’s say a user wants to download stock data from an Internet website into a MICROSOFT Excel worksheet to do financial analysis. Using a Web browser, a user would open a new MICROSOFT Excel worksheet. The user will then load the web site that contains the stock information. Next, the user will select a table of stock data and invoke Copy. The user will then need to switch to the window containing MICROSOFT Excel spreadsheet program, choose a position on the worksheet where they want to insert the data, and then invoke the Paste command. The Copy-Paste method for importing tabular data will work if the contents of the imported table are static. Stock information is dynamic and constantly changing. To update tabular data, users had to use the Copy-Paste method in order to continue to import new data. </p><p style="padding-top:15px">“Unfortunately, the Copy and Paste method to import tabular information is slow and inefficient. If the user wishes to refresh or update tabular data, they will need to repeat the Copy-and Paste process. Using the Copy-and-Paste method to update tabular data continuously can cause errors. The user might accidentally select a different table on the Web page or import tabular data. Either way, picking data to update other than the one originally selected can cause many errors in the user?s analysis. In these cases, creating a refreshable Web query would reduce the need to use the Copy-Paste method for updating tabular data. Many users don’t know that Web Query exists, or how to access it. Even for those who know about the Web Query feature, they find it too difficult to create a Web Query and use it with regularity. </p><p style="padding-top:15px">“There is a need for an easier and more?discoverable’ way to create a Web Query. Method for creating a refreshable Web query. A further need exists in the art to provide a faster and more efficient way for users to find the option to create refreshed Web queries. A more efficient, integrated and logical way to create a refreshable Web Query using the MICROSOFT Excel spreadsheet program from a Web browser is still needed. </p><p style="padding-top:15px">The present invention is generally described as meeting the above-described needs of making creating a Web Query easier and more intuitive for the average user. This invention improves the Web Query dialog box and allows users to create a Web Query graphically using the?What you see is what you get? feature. (?WYSIWYG?) technology. This improvement allows a user graphically to select a tabular data instance displayed on a Web page, and then import that tabular data into a MICROSOFT Excel 2002 worksheet as a Web Query. When a user commands to import the tabular data into a worksheet, the method starts. The command to import tabular data is received in a Web Query dialog box. Next, the user navigates to the URL that contains the tabular information he or she wants to import. The dialog box will then open and load the web page that contains the tabular data. The user selects one instance of tabular information to be imported into the spreadsheet program. This is usually done using a graphical approach. The tabular data can then be imported into the spreadsheet program without the user needing to provide any details about the HTML structure. You can also choose not to select tabular data. In this case, the entire Web page is imported into the spreadsheet program and used as a Web query. </p><p style="padding-top:15px">“The invention offers a graphic method of selecting tabular data from a web page and then importing or copying it to another file such as another Web page or another application program. After the Web page has been loaded into the dialog box the HTML tree scans the HTML file to find all tabular data. An icon is created for each instance of tabular information encountered and it is associated with the particular tabular data. The icon is typically composed of a box with a yellow background and a black arrow that points at the tabular information. This graphic indicates to the user what objects in the HTML document are tabular. </p><p style="padding-top:15px">“Next, calculate the absolute position for each tabular data instance. The icons are then placed proximate the tabular data’s absolute position. The icons are then added to the HTML document. An associated zIndex is set to the maximum permissible value. This corresponds to the highest level of the HTML file so that icons are displayed at the top of the Web page. The icons will remain visible for the user at all times. The icons give the user a visual representation for all possible tabular data that could be imported into the spreadsheet program. </p><p style="padding-top:15px">“Once the icons have been displayed on the Web page, the Web Query dialog box will determine if the user has selected at most one instance of tabular information within the Web Page. The mouseover is when the cursor is placed over an icon that corresponds to an instance tabular data. The user will be provided with various graphical indicators upon this event. The icon’s visual appearance is changed, for example, by changing its background color. The user can then draw a highlight image. This is a box that surrounds the tabular data. The HTML document contains the dimensions of the tabular information. These are combined with the absolute location of the tabular to create the highlight image. To emphasize the tabular information, the outline color is then set to a predetermined amount. The highlight image has a transparent? GIF image. The user can still view the tabular data even though the image is placed over it. These graphical indicators are visible for as long as there is a mouseover. event occurs.” </p><p style="padding-top:15px">“Next, the user will be asked if they have chosen to import at most one instance of tabular information into the spreadsheet program. The background color and visible indicator for tabular data will be altered if the user has chosen tabular data. The icon’s visual appearance is changed again. The icon could be, for example, a yellow box with a black arrow. The icon may change color if a mouseover occurs. The icon’s color may change to green if a mouseover? occurs. If the tabular data is selected by the user, the icon’s icon color may change from yellow to green. The background color of the tabular data can be changed from its original color, to a mixed color that includes the system color and the white. The background color can be changed to make it easier for the user to identify which tabular data has been selected. The tabular data is then imported by the user. A table identification string indicates the position of each tabular data instance within the HTML document. In the event that there is no table ID string associated with tabular data, the index numbers associated with tabular data are computed and recorded. The URL of the tabular data instances is passed along with either the index number or table identification string to the Web Query program. </p><p style="padding-top:15px">“The invention can also determine if an HTML document contains multiple frames and create a Web Query that returns to a specific frame in the HTML document. Many Web designers divide their web page into multiple frames. One frame can be thought of as a window that separates the Web page into different parts of data. Each partition holds a single HTML file. This allows web authors to present large amounts of data in a meaningful and useful manner. </p><p style="padding-top:15px">“When a Web site contains multiple frames, each frame of the page is scanned to identify each instance tabular data. The icons are then created and assigned to each instance of tabular information on each frame. Each frame has its own URL and window. Therefore, when creating a Web Query, the URL for the frame is used instead of the URL from the parent frame. Any tabular data previously selected in another frame is removed from a selected frame when a tabular instance is selected. The spreadsheet program can only import multiple instances of tabular information from a single frame. The limitation on the creation of Web queries within a single frame is an issue with previous versions of the Microsoft Excel spreadsheet program. It is not the invention. </p><p style="padding-top:15px">“The present invention also meets the above-described need of making Web queries more accessible to a person using a software utility known as a Web Query Smart Tag utility (WQST). WQST allows users to create Web queries from their Internet browser using one of many methods. The ‘Copy-Paste Web query’ is the first. The first method, also known as the?Copy-Paste Web Query?, is when a user copies tabular data from a Web site into a spreadsheet program. After the user has copied the tabular data into a spreadsheet program, it is decided whether the refreshable Web Query command should now be presented to him. If the Web Query command is presented to the user, the option to create a Web Query appears in a drop-down menu. This is called an on-object interface (?OOUI?) Also known as a Smart Tag. Associated with the MICROSOFT EXCEL2002 spreadsheet program. The Smart Tag is associated with the tabular data, regardless of whether or not Web Query is necessary. This Smart Tag is a MICROSOFT OFFICE XP-wide ‘Paste Recovery? The U.S. patent application Ser. No. 09/620.876 entitled “On-Object User Interface”,? Filled on Jul. 21 2000 and are incorporated herein as a reference.” </p><p style="padding-top:15px">When the user chooses to create a Web Query using the Smart Tag, the Web Query dialog is opened. The entire Web page is loaded into Web Query at the Clipboard location. To create a refreshed Web Query, the user can select the same tabular data again. </p><p style="padding-top:15px">“Copy-Paste Web Query is available if the application supports CF_HTML data formats. This method determines if the first identifier tag that is associated with tabular data (which identifies which application program created the tabular) has been set to a specific value. The WQST utility will retrieve a URL from the Web site that contains the tabular data. If the first tag is set to the given value, the WQST utility will then import the tabular data. The next step is to determine if the URL is properly formed. This is where it is determined if the URL contains any of the following string text:?http ://,? ?https://,? ?ftp://,? ?ftp://,? If the URL is correctly formed, the Smart Tag will present the option to create a refreshed Web Query. If any of the above steps fail, however, the Smart Tag will not present the option to create a refreshing Web Query. </p><p style="padding-top:15px">“The WQST utility can also be embedded in an additional method called?Export To Microsoft Excel. The?Export To Microsoft Excel? The?Export to Microsoft Excel module allows a user create a refreshable web query in the MICROSOFT XCEL 2002 spreadsheet program from within the MICROSOFT INTERNET explorer browser program. You can create a refreshed Web Query by using the?Export To Microsoft Excel? option. The user places the cursor on a tabular data instance in a Web page that is open in the MICROSOFT EXPLORER browser program. The user then activates the context menu by pressing the right mouse button. Next, the user selects “Export to Microsoft Excel?” The context menu launches the MICROSOFT Excel 2002 spreadsheet program. At the time that the cursor was placed over tabular data, the user chose the “Export to Microsoft Excel?” option. The tabular data is then exported to MICROSOFT Excel 2002 as a refreshable web query. </p><p style="padding-top:15px">“The WQST utility could also be embedded into a third module called?Edit with Microsoft Excel. The?Edit With Microsoft Excel? module allows you to open the entire file or select a portion of it. The?Edit with Microsoft Excel? module allows a user the ability to open an entire file or select a portion to be imported into the MICROSOFT EL 2002 spreadsheet program as a refreshable web Query. The HTML document can be loaded directly into the MICROSOFT Excel 2002 spreadsheet program if it was created using the MICROSOFT 2002 spreadsheet program. If the HTML page was not created with the MICROSOFT Excel 2002 spreadsheet program, the module automatically creates a new sheet and opens the Web Query dialog box. This allows users to create a Web Query for the entire page or specific tabular data. </p><p style="padding-top:15px">To begin creating the refreshable Web Query, navigate to the HTML document desired in the MICROSOFT EXPLORER browser application. Next, the user invokes the Edit drop-down menu from within the MICROSOFT InTERNET Explorer browser program. Next, the user selects?Edit with Microsoft Excel? command. The?Edit with Microsoft Excel’ command is available. The?Edit with Microsoft Excel? module determines if the HTML document was created using MICROSOFT Excel 2002 or another Web development tool by examining the identification tag attached to the HTML document. The identification tag indicates which Web development program was used in creating the HTML document. The value of the identifier tags indicates whether the MICROSOFT Excel 2002 spreadsheet program was used in creating the HTML document. If so, the?Edit With Microsoft Excel? function will be activated. Module opens the MICROSOFT Excel 2002 spreadsheet program and loads all HTML documents within a MICROSOFTEXCEL2002 workbook. </p><p style="padding-top:15px">If the identifier tag indicates the HTML file was created by another Web development program, then the?Edit With Microsoft Excel? command will be used. Module launches the MICROSOFT EXCEL 2002 spreadsheet application, creates a workbook, and opens a Web Query dialog box. It is preloaded with the URL for the HTML document. You can choose to select the entire Web page or a specific section of tabular data that you wish to import into the Web Query. </p><p style="padding-top:15px">The following description will detail the exemplary embodiments, as well as the attached drawings and claims. It will be apparent that the invention overcomes the drawbacks of existing methods for creating refreshable Web query queries. </p><p style="padding-top:15px">“The invention is directed to a method that allows a user to graphically choose an object (i.e. tabular data) from a Web site and then import it into a spreadsheet program. The?MICROSOFT Excel 2002 is an example embodiment of the invention. spreadsheet program, which was manufactured by Microsoft Corporation of Redmond (Wash). </p><p style="padding-top:15px">The exemplary embodiment will be described in terms of a program and an OS running on a personal computing device. However, those who are skilled in the art will know that the present invention can also be used in conjunction with other programs for other types. The present invention can be used in either a standalone or distributed computing environment. Program modules can be physically stored in different memory storage devices. Execution may take place locally as a stand-alone operation or remotely via a client/server model. These distributed computing environments can be described as local area networks within an office, enterprise-wide computer network, or the global Internet. </p><p style="padding-top:15px">“Referring now, to the drawings in which like numerals signify like elements throughout the various figures, aspects of this invention and the exemplary operating area will be described.” </p><p style="padding-top:15px">“Exemplary Operating Environment.” </p><p style="padding-top:15px">“FIG. “FIG. Although the invention will be discussed in relation to an application program running on an operating system and a personal computer, the skilled in the art will know that it can also be used in combination with other modules. Program modules generally include routines, programs and components. Program modules are programs that execute specific tasks or provide abstract data types. The invention can also be used with multiprocessor systems, hand-held devices, handheld computers, microprocessor-based consumer electronics, microprocessor-based, programmable consumer electronics, mainframe computers, minicomputers, mainframes and other configurations. It may also be used in distributed computing environments, where tasks are performed remotely by processing devices linked via a communications network. Program modules can be stored in both local and remote memory storage devices in a distributed computing environment. </p><p style="padding-top:15px">“With reference to FIG. 1. An exemplary system to implement the invention comprises a conventional personal computer 20 with a processor unit 21, system memory 22 and a system bus 23, which couples the system memory to processing unit 21. The system memory 22 contains read-only memory (ROM), 24 and random access memories (RAM) 25. ROM 24 contains the basic input/output systems 26 (BIOS) that allow information to be transferred between elements of the personal computer 20. This includes routines such as those used during startup. A hard disk drive 27 and a magnetic drive 28 are included in the personal computer 20, which can read or write to removable disks 29 and 30 respectively. An optical disk drive 30 is also included, which can be used to read or write to optical media 31 or CD-ROM disk 31. The system bus 23 is connected to the hard disk drive 27, magnetic drive 28 and optical disk driver 30 by a hard drive drive interface 32, 33 and 34 respectively. These drives and the associated computer-readable media are nonvolatile storage devices for the personal computer 20. While the above description of computer-readable media refers to hard drives, removable magnetic disks and CD-ROM disks, those skilled in art should appreciate that other media types which can be readable by a personal computer such as magnetic cassettes flash memory cards digital video disks and Bernoulli cartridges may also be used in this exemplary operating environment. </p><p style="padding-top:15px">There may be a number of program modules stored on the drives and RAM 25, such as an operating system 35, one, or more, application programs 36, like the WQST (Web Query Smart Tag), utility 100, other module 37, and program data 38. The personal computer 20 can be used to enter commands or information via a keyboard 40, and pointing devices such as a mouse42. Not shown are a microphone and joystick as well as a satellite dish, scanner, and satellite dish. These input devices and others are connected to the processing device 21 via a serial port interface 46. This interface is coupled to the system buses, but can also be connected using other interfaces such as a universal serial bus or a game port. An interface such as a video adapter 48 connects a monitor 47 or any other display device to the system bus 23, which is connected to the processor 21. Personal computers often include additional peripheral output devices, such as speakers and printers. </p><p style="padding-top:15px">“The personal computer 20 can operate in a networked environment by using logical connections with one or more remote computers such as a remote computer49. Although FIG. 50 shows only a 50-byte memory storage device, the remote computer 49 could be a server or router. 1. FIG. 1 shows the logical connections. FIG. 1 shows a local area network 51 and a wider area network 52. These networking environments are commonplace at offices, in enterprise-wide computer networks and Intranets, as well as the Internet. </p><p style="padding-top:15px">The personal computer 20 connects to the LAN 51 via a network interface 53 when it is used in a LAN networking setting. The modem 54 is typically included in a personal computer 20 when it’s used in a WAN network environment. The serial port interface 46 connects the modem 54 to the system bus 23, which can be either internal or external. Program modules, or portions thereof, depicted relative the personal computer 20 may be stored in the remote storage device. You will appreciate that the network connections shown here are only an example and that other methods of connecting the computers can be used. </p><p style="padding-top:15px">“Exemplary Embodiments for the Invention” </p><p style="padding-top:15px">“Web Query Dialog” </p><p style="padding-top:15px">The Web Query dialog makes it easier to import objects from a Web site into an application program. The Web Query dialog lets users select tabular data from a Web site that they want to import into a spreadsheet program such as Microsoft’s MICROSOFT Excel 2002 spreadsheet program. A Web Query dialog box is displayed when the user chooses to import tabular data from a Web site into MICROSOFT Excel 2002 spreadsheet. A Web browser control is located within the Web Query dialog box. It’s a dynamic link library (??DLL?) control, also known as ‘SHDOCVW.DLL. Hosting a Web browser in a Web Query dialog is well-known in the art. This application does not provide a detailed description of hosting a Web Browser control in a dialog. </p><p style="padding-top:15px">“The Web browser control SHDOCVW.DLL hosts a Web module that is another DLL control known as?MSHTML.DLL. MSHTML.DLL is the browser component of Microsoft’s MICROSOFT EXPLORER web browser application program. The Web browser control can display Web pages in a graphical format using the MSHTML.DLL Web browsing module or any other Web surfing module by hosting it. The Web browser control can display Web pages. However, the Web surfing module allows the Web designer to interact programmatically with elements of the HTML document via a Document Object Model. (?DOM?)). The Web developer can programmatically examine the Web page’s collection of table elements and programmatically calculate the top and left coordinates for objects in the Webpage. </p><p style="padding-top:15px">The MSHTML.DLL control can be used in the Web Query dialog to allow the user to visually navigate the Web page or select objects from it. Multiple Web pages can be linked in a graphic fashion using the HTML format. This allows users to click on an object in a Web page and open it by using a pointing device such as a mouse. </p><p style="padding-top:15px">An initial Web page will be displayed once the Web browser control SHDOCVW.DLL has been opened in the Web Query Dialog box. Any Web site may be used as the initial page. Their MICROSOFT Excel 2002 spreadsheet program. If the user has not yet assigned a ‘home page? The default page for the user’s Web browser program is the Web page set by MICROSOFT EXCEL2002 spreadsheet program. If the user does not have a home page, the first page will load with a URL pre-coded into the Web Query. </p><p style="padding-top:15px">“For example, if the user’s spreadsheet program is the MICROSOFT EXCEL 2002 spreadsheet program, and the user’s Web browser program is the MICROSOFT INTERNET EXPLORER browser program, the initial Web page will be the URL stored at the registry location ?HKey_Current_User\\Software\\Microsoft\\office\\10.0\\Excel\\Options\\WebQuery HomePage.? If this registry entry does not exist, then the registry location ?HKey_Current_User\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page,? This contains the initial web page of the user’s MICROSOFT Internet Explorer browser program. This registry location is not required to load the dialog box. If this registry location is not available, the dialog box will be loaded with a predetermined URL such as?http://www.msn.com? After the page has been loaded, users can navigate to any page on the Web that contains tabular data. They can either graphically hot-link to another site or manually enter the URL. </p><p style="padding-top:15px">Another alternative is to select the URL desired from a drop-down list that lists the most visited Web sites. The user creating a Web Query will navigate to a Web site that contains tabular information. However, the Web Query dialog box can be used to navigate to any other Web site on the World Wide Web. </p><p style="padding-top:15px">The Web Query dialog box displays a Web page. Once the dialog box is activated, data objects such as tabular data are parsed. The activation of the Web Query dialog and the downloading of the Web site into the Web browser module located in the dialog box is the triggering event. After the Web page is loaded, the HTML document will be scanned for data objects such as tabular data, which can then be imported into MICROSOFT EXCEL2002 spreadsheet program. If the user creates a Web Query using the MICROSOFT Excel 2002 spreadsheet program, the Web site is scanned for tabular information when it is downloaded to the Web Query dialog box. The Web page is also scanned for graphical information if the user imports data into a presentation program such as the MICROSOFT POWERPOINT presentation software. For the purposes of this application, we will only be discussing how to import tabular data into the MICROSOFT Excel 2002 spreadsheet program. But, those who are skilled in the art will know that objects of other formats such as text and graphical can be imported into other applications programs that support these data formats without departing form the scope of the invention. </p><p style="padding-top:15px">An icon is created for each instance of tabular information encountered and it is associated with the tabular. These icons allow the user to quickly identify any tabular data that can be imported into the spreadsheet program. Tabular data can be stored within one of the HTML tags such as PRE, XMP or LISTING. An icon is created for each of these tags in the HTML document and it is associated with each tag. A TABLE tag can be used to place placeholders or spacers within an HTML document, but it may not contain any data. It is therefore a good idea to remove any instances of TABLE tags being used as placeholders. Before associating an icon to tabular data stored within a TABLE tags, it is necessary to retrieve the horizontal and vertical dimensions. An icon will not be associated with a particular TABLE tag if either the vertical or horizontal dimension is below a threshold value. The threshold value for determining whether a TABLE tag can be used as a spacer is 8 pixels, which is the minimum dimension of standard text characters. Any TABLE object with a horizontal or vertical dimension less than 8 pixels will likely not contain meaningful data. </p><p style="padding-top:15px">“Once an icon has been associated with each tabular data instance, the absolute location of the upper left corner of each tabular data instance is calculated. In HTML documents, the position of every object in the HTML document is usually stated relative to its parent object. The HTML document’s body is used to indicate the position of the parent object. To calculate the absolute position for each tabular data instance, the relative positions are taken from the document object model (?DOM?). The relative position for each tabular data instance is then added to its parent’s relative position. This gives us the total relative position of each tabular data instance. The absolute position for each tabular dataset is then calculated by adding the relative positions for each tabular file to the absolute location at the beginning of each Web page. This calculation is done twice: once for vertical or?up? This calculation is done twice: once for the vertical, or?up? position, and once again for horizontal, or ‘left? position. The absolute position of the upper left coiner for each instance tabular data is typically calculated. The absolute position of any part of the tabular data can be calculated without affecting the scope of the invention. After calculating the absolute position in the upper left corner, an icon will be inserted into the HTML document proximate the calculated absolute position. This allows the user to graphically associate the icon and tabular data. </p><p style="padding-top:15px">“Now let’s move on to the figures. FIG. 2. This is how the Web Query dialog box 205 displays a Web site. The MICROSOFT Excel 2002 spreadsheet program displays the Web Query dialog box 205. The address bar 210 in the Web Query dialog box 205 displays the URL of the Web pages currently displayed. A series of commands buttons are also found in the Web Query dialog box 205, including an?GO! Button 215 to display the URL in the address bar, 210, and button 220 to go back. button 220 to display previous URLs. Dialog box 205 also includes an?IMPORT?? The dialog box 205 also contains an?IMPORT? button 235, which allows tabular data to be imported. A?CANCEL?? button 234 is available for cancelling the Web Query operation. Button 240 can be used to close the Web Query dialog box 205 and abort the Web Query operation. </p><p style="padding-top:15px">“The dialog box205 also runs the Web browser control 225 (also known as SHDOCVW.DLL). The Web browser control 225 can host a Web browser module, or any other ActiveX documents such as word processors or spreadsheet programs. The Web browser control 215 hosts MSHTML.DLL which can parse and display HTML documents. The Web browser control 225 can display Web pages in the dialog box. </p><p style="padding-top:15px">“FIG. 3. This is an illustration showing the typical screen display of the window 300 in a MICROSOFT Excel 2002 spreadsheet program. It shows the user selecting the option to import external data into a MICROSOFTEXCEL2002 worksheet. The MICROSOFT Excel 2002 window 300 has a drop-down menu 305 and a command 310. A viewing area 315 is also available in the MICROSOFT Excel 2002 window 300. The viewing area 315 allows you to view the contents of the MICROSOFT EXCEL 2002 software. It contains a variety of cells, including text, numbers and formulas. </p><p style="padding-top:15px">“Associated with the MICROSOFT Excel 2002 window 300 is a?”New Web Query? dialog box 320, which appears in the spreadsheet program. The New Web Query dialog 320 has a standard address box 325 that includes the URL of a Web site and a viewing area 330 which displays the content of the Web site. Usually, the New Web Query option will show an initial URL in the address bar 325. Normally, the initial URL is the address of the user’s startup Web page contained in the registry key ?HKey_Current_User\\Software\\Microsoft\\Office\\10.0\\Excel\\Options\\WebQuery HomePage.? However, if the user did not store an initial startup Web page selected for the MICROSOFT EXCEL spreadsheet program, the Web page that is stored in the registry key ?HKey_Current_User\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page? Loaded as the homepage for the user’s Microsoft Internet Explorer browser program. However, if the URL address is not listed as the home page of the user’s MICROSOFT InTERNET EXPLORER program, then a predefined URL such as?www.msn.com will be used. The address bar is loaded with this URL. This URL is predefined and is “hard coded” In the MICROSOFT Excel 2002 spreadsheet program. The user can now navigate the Internet to find the page that contains the tabular data they want to import. You can either manually enter the URL into the address bar 325, or you can use a pointing tool to navigate the Internet. After selecting the right Web page, the downloaded file is saved to the Internet browser module. In the illustration, the address bar contains the URL ?http://finance.yahoo.com/q?s=msft&amp;d=v1,? This is the URL associated with the Web site displayed in the viewing box 330. </p><p style="padding-top:15px">A plurality of icons 340 are displayed in close proximity to each instance tabular data on the Web page. Each icon 340 gives the user a visual indication of which objects are tabular data. These can then be imported into the spreadsheet program. In the upper left corner, a icon representing the entire Web page 335 appears in the viewing area 330. This icon indicates that the entire Web page contents can be imported into the spreadsheet program. Each icon associated with tabular data 340 as well as the icon for the entire Webpage 335 have at least one visual attribute. This could be a color or symbol, text or combination of both. In the illustration, for example, each icon (335, 344) consists of an arrow enclosed by a box. The background color is yellow. These icons (335,340) allow users to quickly identify objects on the Web page that have tabular data. This allows the user to simply view the Web page in the New Web Query dialog box 320, and see a graphic representation of the elements that may be imported into the Web Query. </p><p style="padding-top:15px">“FIG. 4. This is an illustration of a screen that shows the MICROSOFT Excel 2002 window 300. It was created after the user selected a tabular data instance from the Web page. Illustration shows that the cursor 345 can be seen over the icon 405 associated with tabular data 405. The cursor 345 must be placed over the icon 410 or any other icon (also known as a mouseover). The icon 410’s visual attribute is modified to a certain extent. In the figure and in the exemplary embodiment, for example, the background color changed from yellow to green when the cursor 345 was placed over the icon. This visual indicator shows the user the tabular data are available. A?mouseover’ event may also allow for a second indicator, such as a box 415 with the same dimensions as the tabular data. A second indicator may also be placed over the tabular information 405 associated with the icon. This second indicator is an additional visual sign that the user can use to indicate which tabular data they are interested in. GIF image 415 is the second indicator. GIF image 415 is a box that surrounds a transparent high-light image. The box is bordered with a color value that corresponds with a dark color (e.g. The bordered box contains a color value that corresponds to a dark color (e.g. A transparent GIF-formatted GIF image is used to show the interior of the box. Through the transparent GIF-formatted picture, the user can see the tabular data 405. A text box 420 can also be displayed to give additional information regarding the tabular data. The exemplary embodiment displays a text box with the instructions?Click here to select this table?. Other instructions are possible within the text box, as long as they do not alter the scope of the invention. If the tabular information is named, the text box could also contain the name of tabular data. </p><p style="padding-top:15px">“FIG. 5. This is an illustration of a screen in the MICROSOFT Excel 2002 spreadsheet program. It illustrates the results of creating a refreshable web query in a MICROSOFT 2002 worksheet. The MICROSOFT Excel 2002 window 300 displays the tabular data 502 that was imported into the cells in the content window 315 (FIG. 3). A?External data? The menu box 506 is located adjacent to tabular data 502; it contains an Edit query button 506, and a?Data Range Property? Button 508, a button for?Query Parameters. Button 508, a ‘Query Parameters? Button 510, a ‘Refresh Data? button 512, a ‘Cancel Refresh? button 514, a ‘Refresh All? button 518. The?Refresh Data?” button 518 is selected. When the?Refresh Data? button 512 is clicked, the tabular information 502 will automatically be updated with any changes made to the Web page that contains this tabular data. </p><p style="padding-top:15px">“FIG. “FIG. 3). Routine 600 starts at step 605, where a user selects to open a New Web Query dialogbox 320 (FIG. 3. From within the spreadsheet program. Step 605 is followed up by step 610. This is where the user is asked whether they want to create a new Web Query dialogue box or open an already existing one. If the user chooses to create a new Web Query dialogue box 320 then the?CREATE?? branch is followed. The?CREATE? branch is then followed to step 615. In this section, an initial Web page will be loaded in the New Web Query dialogbox 320. Any Web site may be used as the initial Web page. Their MICROSOFT Excel 2002 spreadsheet program. The home page of their MICROSOFT InTERNET Explorer browser program will be used to establish the first page in the Web Query dialog box. If the user doesn’t have a home page, however, it will be used as the initial page in the Web Query dialog box. The initial Web page that will be displayed is the one that the user has hard coded into the MICROSOFT Excel 2002 spreadsheet program. For example, the initial web page associated with the MICROSOFT EXCEL 2002 spreadsheet program stored in the registry location ?HKey_Current_User\\Software\\Microsoft\\Office\\10.0\\Excel\\Options\\WebQuery HomePage? The Web Query dialog box loads the first Web page. This key will not be used if the Web page does not exist. of the user’s MICROSOFT INTERNET EXPLORER stored in the registry location ?HKey_Current_User\\Software\\Microsoft\\Internet Explorer\\Main\\Start Page.? However, if there is no URL in this registry location, a predetermined URL is stored into the MICROSOFT INTERNET EXPLORER spreadsheet program and loaded into the Web Query dialog box. For instance, if the user does not have an initial Web page designated as their default home page for their MICROSOFT INTERNET EXPLORER browser program, the URL ?http://www.msn.com,? The dialog box is loaded first. After the first Web page has been loaded into the dialog box, users can navigate freely the Internet and load the Web pages that contain the tabular data they wish to import into their MICROSOFT Excel 2002 worksheet. </p><p style="padding-top:15px">Step 615 is followed up by step 620. In this step, the user selects tabular data from the web page and then imports it into the MICROSOFT Excel 2002 spreadsheet program. To select tabular data, the user can use a pointing device such as a mouse or a keyboard. To select tabular data, the user can also use other pointing tools, such as a stylus, pen, keyboard, and the light pen. The?TAB key may be used to move from one instance of tabular data to another. To move from one tabular data instance to another, the user may use the?TAB? key. After the cursor has been placed over the tabular data the user wishes to import into their MICROSOFT Excel 2002 worksheet, the user can then select the data. The mouse usually allows the user to select the data by clicking on a predefined button. Other methods for selecting tabular data can be used. For example, you could press the?ENTER key on the keyboard. You can also press the?ENTER? key on your keyboard or the stylus. While the discussion is focused on selecting one instance of data, it is important to understand that there may be multiple instances of tabular information within the Web page. </p><p style="padding-top:15px">Step 620 is followed closely by step 625 in which the selected tabular information is imported into the MICROSOFT Excel 2002 worksheet as a Query Table. Usually, the user chooses the location within the MICROSOFT Excel 2002 worksheet where the Query tables will be found by placing the cursor in a cell closest to the desired location and pressing a predefined key or mouse button. Step 625 follows after the tabular data is imported into the MICROSOFT Excel 2002 worksheet. step.” </p><p style="padding-top:15px">“Returning back to step 610, if the user didn’t choose to create a Web, but instead opened an existing Web query, the?EDIT?” The?EDIT? branch is then followed to step 630. In this case, the Web page that is associated with the existing Web Query will be loaded into the Web Query dialog. If the user has previously created a Web Query then the user can open that Web Query by selecting the Query tab in the spreadsheet program, and then invoking the EDIT command in the menu bar. After the Web page has been loaded into the Web Query dialogbox, routine 600 moves to step 620. Here the user can graphically choose at least one instance tabular data to edit, or import into the spreadsheet program to create a Web Query. These methods are identical to those used to select tabular data for import into an existing Web Query dialog. The next step is step 620. In this step, the selected tabular data will be imported into the MICROSOFT Excel 2002 worksheet. The?END? step is then followed by step 625. step.” </p><p style="padding-top:15px">“FIG. “FIG.7” is a logic flow diagram that illustrates the routine 615 in FIG. 6 loads the Web page into a Web Query dialog box. Routine 615 starts at step 705, where an icon and an Event handler are created and associated with the entire Web site. A user can associate an icon with the entire Web site, and not just specific tabular data, to allow them to import it into a spreadsheet program. </p><p style="padding-top:15px">Next, step 705 will be followed by step 710 in which the first tabular object is retrieved using the document object model (??DOM?). Tabular data can be stored in many different objects on a Web page. The DOM is scan for the TABLE, PRE and XMP objects. These objects can all store tabular data. The position of each object is recorded on the Web page when it is first encountered. All objects without tabular data (text, graphical, and video files) are ignored. These objects are ignored. These objects can be nestled in tabular data. In these cases, non-tabular information may be embedded within tabular. Non-tabular data can then be imported into the Web Query. </p><p style="padding-top:15px">Next, step 710 will be followed by step 715. In this step, it is determined if the vertical and horizontal dimensions of the TABLE objects exceed a predetermined value. The TABLE objects can be used to hold tabular data and as placeholders or spacers in the Web page layout. These TABLE objects could be used to indicate instances of tabular data that can be imported into the spreadsheet program. This would make it more difficult, not easier, to create a Web query. If the TABLE object’s vertical or horizontal dimensions are less than a predefined value it is assumed that the object containing tabular information is being used as placeholder. TABLE objects used as spaces in a Web query are not considered possible objects. The exemplary embodiment uses eight (8) pixels as the predefined value for the horizontal and vertical dimensions. Because the Web page’s smallest possible text size is 8 pixels, eight pixels was chosen as the threshold. Any object with a width or height less than eight pixels is considered a spacer. While eight pixels is the default threshold value, those skilled with the art will know that any number of pixels can be used to determine if a TABLE tag is a merely spacer. This does not alter the invention’s scope. </p><p style="padding-top:15px">If both horizontal and vertical dimensions are greater that the predefined value, then a?YES? is indicated. The branch continues to step 720. In this case, the tabular data object as well as its position in DOM are saved in a cache memory location. </p><p style="padding-top:15px">Next, step 720 will be followed by step 725. This is where it is determined if the last tabular object in the DOM was retrieved. If the last tabular object in the DOM has been retrieved, the answer is ‘YES? The?YES? branch is then followed by step 730. In this case, the cache memory contains the first tabular data that was stored in the cache memory. </p><p style="padding-top:15px">Step 730 is followed by step 735. In this step, an icon is created and associated with the tabular information. To make icons easier to understand, they must have at least one visual attribute. The visual attribute could be a color or a text character. A special character, a graphic object, or something else. In the example embodiment, each icon is composed of a right-pointing arrow enclosed within a yellow box with black borders. To ensure that icons remain visible to users, they must be placed on the HTML document’s highest layer. The zIndex value is the value that is associated with each object in an HTML document. It determines which layer the object will appear on and is called?maxint. The maximum value of the zIndex value is?maxint. Place the icons on the top layer of the HTML document. The icons will remain visible to the user in the Web Query dialog box. </p><p style="padding-top:15px">Step 735 is followed up by step 740. This is where the absolute position of any object containing tabular information is calculated. Objects in HTML documents are typically defined using a parent-child hierarchical relation with the child object’s position given as an offset value relative to the parent object. An offset value is assigned to each parent object. <body> tag of the HTML text. It is important to note that parent objects can also be child objects. The position of tabular data objects that are both parent and child objects is calculated relative to their parent object. The offset value is only given to a parent object that is not itself a child object. <body> tag.” </body></body></p><p style="padding-top:15px">Next, step 740 will be followed by step 745. In which case, each icon should be placed proximate each object that contains tabular data. The icons are located in the upper left corner (or closest) of each object that contains tabular information. However, those skilled in the art will recognize that icons can be placed anywhere that is proximate the object, including adjacent to any of the other corners or adjacent to the top, side, or bottom. The invention is not limited in scope. The icons are placed closer to the objects to present the tabular data in a more user-friendly and pleasing manner. </p><p style="padding-top:15px">“Finally step 745 is followed step 750. In this step, it is determined if the last data object in cache memory has been reached. If the last tabular object in the cache memory is reached, the ‘YES? If the last tabular data object in the cache memory has been reached, the?YES? branch is followed to?END? step. If the tabular object that was last accessed on the Web page is not reached, the ‘NO? branch will be used. The?NO? branch is used to retrieve the next tabular object in the cache memory. Step 755 loops backwards to step 735. In which case, the process of adding an icon to the tabular object is repeated. </p><p style="padding-top:15px">“Returning to Step 715, if either the horizontal nor vertical dimension of TABLE objects is less than the predetermined values, it is determined that TABLE objects contain no meaningful data and that the?NO? is set. The branch continues to step 725 where it is determined if the last tabular data item in the DOM is reached. If the last tabular object in the DOM is reached, the?YES! The?YES? branch is then followed by step 730. This is where the process of associating icons with each tabular data instance in the cache memory begins. If the last instance tabular data in DOM has not been reached, the?NO? is set. If the last instance of tabular data within the DOM was not reached, then the?NO? branch is followed. The next instance of tabular information is retrieved and the process for inserting icons into the Web page is repeated. </p><p style="padding-top:15px">“FIG. “FIG. 7. This is where the absolute position of all objects containing tabular data are calculated. Routine 740 starts at step 805 where the relative position of each object containing tabular information is retrieved from DOM. In HTML documents, objects are typically set up in a hierarchy of parent-child relationships. Multiple child objects can be associated with each parent object in the hierarchical relation. Each child object can be a parent object, and may have multiple child objects. The HTML document’s top-most or highest-ranking parent object is the <body> element. Each object that is a parent of the element. <body> element is assigned a value relative to its absolute position <body> element. Each subsequent child element’s position is determined by its relative value to its parent object. This means that each object’s position in the HTML document will be given as an offset relative its parent. The size of the Web Query dialogue box will determine the position of each tabular data instance. The Web Query dialog boxes can be resized so that the position of objects in the dialog box may change. Each time the Web Query dialog boxes are resized, the tabular data position must be recalculated. </body></body></body></p><p style="padding-top:15px">“Step 805 follows by step 810 in which relative positions between child objects and parent objects are added together, starting with the object of curiosity all the way back up to the highest parent object which is the <body> tag of the HTML text. If the tabular data is in a <table> Tag that is a child object <body> Tag, then the position <table> The offset value is what gives tag its name. Another example is if tabular data is in a <table> Tag that is a child from a <plaintext> tag is a child of the <body> Tag, then the position <table> Tag is calculated by adding the offset value to the <table> Tag and the offset value <plaintext> tag. This calculates the absolute position for the object containing tabular data. Step 810 is then followed by the “END?” step.” </plaintext></table></table></body></plaintext></table></table></body></table></body></p><p style="padding-top:15px">“FIG. “FIG. Routine 620 starts at step 905, where the user determines whether they have placed the cursor over an icon associated with an instance tabular data. If the cursor has been placed over an icon, the?YES! The next branch takes you to step 910 where the icon’s visual attribute is changed. In the exemplary embodiment, for example, the visual attribute is the background color. This is set to yellow. The cursor hovers over the icon and is known as a mouseover. The background color will change from yellow to green when the cursor hovers over an icon. This visual feedback allows the user to select the tabular data associated that icon. </p><p style="padding-top:15px">Step 910 is followed up by step 915. In which case, a box is placed on top of the object containing tabular data. The box is placed in a ‘blank.gif’. The box is stored in a?blank.gif? The system’s high light color is used as the border attribute. The background attribute is set to ‘transparent’ or blank. Any tabular data or text below the box will be visible to the user. By setting the zIndex associated to the box to the maximum number allowed layers, the box will be placed on the third page. This value is?maxint? Minus 2 (maxint?) By placing the box below the HTML document’s maximum layer,?flickering? is prevented. When the highlight image is displayed, flickering will not occur. ?Flicker? If the zIndex of the highlighted image was higher than that of the icon, it would be placed on top of icon. This would cause icon to get a?mouseover’. This would cause the icon to become obscured. The mouseover event would cease when the icon is obscured. The highlighted image would disappear and the mouseover event would fire again, even though it has not moved. Flicker is caused by the repeated firing of a mouseover event. </p><p style="padding-top:15px">Step 915 is followed up by step 920. In this step, the user determines whether they have selected an object to import into the spreadsheet application by determining if there has been an ‘on click? An instance of tabular data has been affected by the event. If there is an?onclick? If an?on click? The branch is then followed to step 925, where the icon’s visual attribute is changed again. If an ‘on-click? event occurs, the icon associated with the tabular data changes from a right facing arrow to a checkmark on a green background. For example, if an?on-click? event occurs, the icon that is associated with tabular data changes from a right facing Arrow to a checkmark on green background. Step 925 is followed closely by step 930, where the background attribute for the object containing tabular information is changed. The object’s background color is changed from its original color, to a mixed color that includes the system high-light color and white. So that the original background attribute of an object can be restored if it is not selected, the memory stores the background attribute. The user can change the visual attributes of the icon or the background attribute to confirm that the tabular data is selected and available for import into the spreadsheet program. </p><p style="padding-top:15px">“Some Web pages may contain more information than can be displayed on one single page. Consequently, some Web pages can have multiple pages or frames. Multiple frames on a Web page are scanned to find tabular data. Icons are then created and associated with the frames. Each frame is unique and has its own URL. This means that you must use the URL of the frame instead of the URL for the Web Query. If a tabular instance has been previously selected from another frame, the previous instance is removed when a new tabular instance is selected from another frame. Multiple tables from the same frame cannot be selected and imported simultaneously. The Web Query will only load the frame containing the selected tabular information, not the entire Web page, if the user refreshes the tabular database. The Web Query Dialog does not allow tabular data to be imported from a single frame. This limitation is due to MICROSOFT Excel 2002 spreadsheet program. The Web Query Dialog, on the other hand, is capable of allowing users to choose and import tables from multiple frames. The limitation of only importing tables from a single frame is due to the inability of the MICROSOFT Excel 2002 spreadsheet program to transfer data between multiple frames. </p><p style="padding-top:15px">“Refreshable web query” </p><p style="padding-top:15px">“The invention could be embodied as a software utility. This may be referred too as the?Web Query Smart Tag? (WQST). This utility will be integrated into the MICROSOFT Excel 2002 and INTERNETEXPLORER 5.0 software programs. WQST allows users to create refreshed Web queries more quickly. Software utility is a term that refers to software. Software utility is a function, routine or dynamic link library (DLL), which refers to a program that can be used independently by other modules using a pre-defined set interfaces. A?utility’ can also be defined. A?utility? may be included in a computer operating system, application program, or Web development program. This invention includes any software module or system that performs these methods according to the specification. It is not restricted to a specific object configuration such as a dynamic library (DLL). The present invention is not limited to spreadsheet programs. However, those who are skilled in the art will recognize that it is also applicable to other programs that allow tabular data to be imported from Web pages. </p><p style="padding-top:15px">“WQST allows users to create refreshed Web queries from their Web browser programs using one of many methods. The?Copy -Paste Web query? is the first. This allows users to copy tabular data from a Web page and then import it into a spreadsheet program by using the Copy-Paste command. Another method is?Edit with Microsoft Excel? A user can select tubular data from a Web page by pressing the right mouse button and the cursor is in the Web browser program. This will display a context menu. This context menu allows the user to export tabular data to the MICROSOFT Excel 2002 spreadsheet program. </p><p style="padding-top:15px">“Edit with Microsoft Excel is the final method. This option is available in the MICROSOFT Internet Explorer Web browser program. When selected, it launches the MICROSOFT Excel 2002 spreadsheet program. This option can be accessed by opening the MICROSOFT EXPLORER Web browser and selecting the?Edit With Microsoft Excel? option. The drop-down menu in the Toolbar allows you to select this option. The file can be opened using the MICROSOFT EXCEL2002 spreadsheet program if it was created using the MICROSOFT EXCEL2002 spreadsheet program. If the Web page was made with another program, it is opened in a Web Query dialog box. The user can then choose the tabular data that they want to import into the spreadsheet program. </p><p style="padding-top:15px">“Typically, the data block that the user wants to copy from the Web site to the spreadsheet program will be tabular in nature. This is because spreadsheet programs are designed to handle tabular data. Spreadsheet programs can manipulate text and graphics, however. Although the WQST utility was designed to manipulate tabular data for this application, those skilled in the arts will be able to recognize that a refreshable Web Query can be created using any type of data. Below is a detailed description of each method. </p><p style="padding-top:15px">“Copy-Paste Web Queries” </p><p style="padding-top:15px">“Copy-Paste Web Query is the first method to generate a Web Query with the WQST utility. Copy-Paste Web Query offers an option to use the Paste Recovery on object user interface (OOUI) or Smart Tag called ‘Create Refreshable Web Query. The Paste Recovery Smart Tag appears as a drop-down menu next to the data block that was pasted into an electronic file. This is a MICROSOFT Excel 2002 workbook. To display different ways that data can be copied into a file, the user can select the Paste Recovery Smart Tag. The user can choose to copy the data in text or HTML, without needing to undo the Paste Special command. </p><p style="padding-top:15px">The Copy-Paste Web Query module activates when the user selects tabular information using a pointing device such as a mouse to copy from a Web site in an Internet browser module. It then invokes the Paste command within the MICROSOFT Excel 2002 spreadsheet program. The Copy-Paste Web) Query module inspects the tabular data to see if it’s a predefined format. In this case, it checks the MICROSOFT Excel 2002 spreadsheet program. The CF_HTML data format can be used to transfer data between applications using the Clipboard. While the Copy-Paste Web Query module uses CF_HTML format, the skilled in the art will recognize that other formats are possible, which allow data to be transferred between applications. </p><p style="padding-top:15px">If both of these conditions have been met, namely, the Paste command was invoked and the format for the Clipboard data is CF_HTML then the Copy-Paste Web Query Module is enabled. First, the Copy-Paste Web Query module determines if a first identifier tags in the registry associated to the tabular data have been set to a predefined Value to disable the Refreshable Web Query option of the Smart Tag. Specifically, the registry key ?HKey_Current_User\\Software\\Microsoft\\Office\\10.0\\Excel\\Options DisablePasteAsWebQuery? It is checked to see if the registry key contains a predetermined value. If the registry key contains the value to disable the Web Query, then the option to create a Refreshable Web Query will not be presented to the user via Smart Tag. Instead, the tabular data will be pasted into the MICROSOFT Excel 2002 spreadsheet program in the normal manner. </p><p style="padding-top:15px">“But, if the Administrative Registry Key has not been disabled, the Copy-Paste web Query module will determine if a second identifier tag within the registry has been set to one among several predefined values. The Copy-Paste web Query checks whether the flag that is associated with tabular data, which is used to identify the program used to create tabular data, is set to one or more predefined values. The Copy-Paste Web Query module checks METAL tags to see if the MICROSOFT Excel 2002 spreadsheet program or any other MICROSOFT OFFICE XP applications, such as the MICROSOFT WORD or MICROSOFT POWERPOINT or MICROSOFT FRONTPAGE, were used to create tabular data. The Copy-Paste Web query module inspects the?ProgID. META tag in the header of CF_HTML that specified the source application program. This tag indicates that the MICROSOFT OFFICE XP spreadsheet program or MICROSOFT EXCEL2002 spreadsheet program created the tabular data. The tabular data is then copied into the spreadsheet program in the usual manner, without the need to create a Web Query. </p><p style="padding-top:15px">If, however, Copy-Paste Web Query modules determine that the tabular information was not copied from a MICROSOFT OFFICE XP program, then Copy -Paste Web Query module also checks whether the SourceURL string associated to the tabular content in CF_HTML contains a properly formed URL. The Copy-Paste Web Query module examines the SourceURL string and determines if it contains any of the following values:?http ://?,??https ://?,???htp ://?,,?file ://? at the URL’s beginning. The presence of one of these SourceURL strings indicates that the tabular information is associated with a valid URL. This URL can be accessed later to modify the tabular. The Copy-Paste Web Query module will not offer the possibility to create a refreshable Web Query. Instead, the SourceURL string must be well formed. Otherwise the tabular data can be copied into the spreadsheet program as usual. If the URL for the tabular data is properly formatted, the Copy-Paste web Query module will paste the tabular data into a spreadsheet program and display the Create Refreshable Query option. To create a refreshed Web Query, use the Paste Recovery Smart Tag. </p><p style="padding-top:15px">“Once the user has opened the Paste Recovery Smart Tag they can select the?Create a Refreshable Web Question? option. option. The?New Web Query dialog box is a Web Query dialog box. The spreadsheet program opens the Web Query dialog box. The Web Query dialog box includes the Internet browser module pre-navigated at the same SourceURL as the CF_HTML. The user can then select the tabular data that he or she wishes to import into the spreadsheet program by selecting it again. Alternativly, the user can reselect tabular data by clicking on the icon that corresponds to the tabular information and then invoking Import. The Copy-Paste WebQuery module creates a link between tabular data on the Web page and tabular data in a spreadsheet. This link allows users to update their spreadsheet data automatically by selecting a Refresh command in the Data menu. </p><p style="padding-top:15px">“FIGS. The steps of creating a Web Query with the Copy-Paste Web Query Module are illustrated in 10-14. </p><p style="padding-top:15px">“FIG. “FIG. INTERNET EXPLORER window 1,000 includes a drop-down menu 1005, a command 1010 and an address 1015. The viewing area 1020 shows the contents of the Web site. The illustration shows tabular data 1025 in the viewing area 1020. A subset of 1030 was selected for import into a Microsoft Excel 2002 worksheet. This Web query is used to point at 1035. The present illustration shows only a portion of the tabular information being selected. However, those who are skilled in the art will be able to see that the entire tabular 1020 could be chosen and pasted into the MICROSOFT Excel 2002 worksheet. </p><p style="padding-top:15px">“FIG. 11. This is an illustration of a MICROSOFT Excel 2002 window 1100. It shows how the subset 1030 from the tabular data 1025 would look after it has been pasted into MICROSOFT Excel 2002 worksheet. The MICROSOFT Excel 2002 window 1100 has a drop-down menu and a series command bars 110, 1115. View the contents of MICROSOFT Excel 2002 worksheet in the viewing area 1120. This area typically contains a few cells arranged in tabular format. The pointing device 1035 (FIG.) is also contained in the window 1100. 10). FIG. 10 illustrates the subset 1025 from the tabular data 1020. After the 10 has been copied into the viewing area 1100, it is displayed. A drop-down menu icon is also located in the viewing area 1120. This icon is known as a Paste Recovery smart tag 1125. The Paste Recovery Smart Tag 1115 is located proximate the subset 1025 in the tabular data 1020 or any other tabular information that is pasted into a spreadsheet program. The Paste Recovery Smart Tag 1125 offers a drop-down menu which allows users to choose from a variety of data formats that can be used in the file. The user can choose to copy the data in text or HTML, without needing to undo the Paste Special command. Tabular data 1030 subset appears “shaded?” or?grayed?” “Until the data is pasted using one the Paste variants from Smart Tag 1125.” </p><p style="padding-top:15px">“FIG. 12. This is an illustration of a screen in the MICROSOFT Excel 2002 spreadsheet program that illustrates the results of a user activating the Paste Recovery Smart Tag 1125. The Paste Recovery Smart Tag 1125 invokes a Paste Recovery Smart Tag drop-down menu 1200 that displays a variety of Paste commands. In the illustration, the Paste Recovery Smart Tag dropdown menu 1200 shows a?Keep source Formatting? command 1205, a?Math Destination Formatting?” command 1205 and a ‘Math Destination Formatting? . . ? Command 1215 was added by Copy-Paste Web Query module. It allows users to create a Web Query for importing data from a Web site. </p><p style="padding-top:15px">“FIG. 13 is an illustration of a screen in the MICROSOFT Excel 2002 spreadsheet program that illustrates the result of a user selecting?Create a Refreshable Web Query?. . . ? Command 1215 displayed in Paste Recovery Smart Tag dropdown 1125 (FIG. 11). The Copy-Paste Web Query module opens a Web Query Dialog Box 1300 within the spreadsheet program windows 1100. The Web Query dialog 1300 has an address bar 1305 which displays the URL of the Web site currently being viewed, and a content windows 1310 which displays the contents of Web pages previously opened in the Internet browser window 1000 (FIG. 10). Tabular data 1020 (FIG.10) is contained in the content window 1310. 10) were previously selected. A number of icons 1315 are also available in the Web Query dialog box that correspond to the tabular data that is inserted into the Web page using the Web Query. You can choose one or more icons that are associated with tabular data. The Import command is invoked by the user using either a pointing device or the keyboard. This creates a refreshable Web Query between tabular data on the Web page and tabular data 1020 that has been pasted into the content widow 1120 in the MICROSOFT Excel 2002 worksheet. </p><p style="padding-top:15px">“FIG. “FIG. 11) illustrating how to create a refreshable Web Query 1400. Tabular data 1030 is displayed in the MICROSOFT Excel 2002 window 1100 (FIG. 10) are imported into the cells shown in the content window 1120. (FIG. 11). An?External data? Menu box 506 (FIG. 5) is displayed next to tabular data 1030. It contains an EditQuery button 506 and a?Data Range Property? Button 508, a button for?Query Parameters. Button 508, a ‘Query Parameters? Button 510, a ‘Refresh Data? button 512, a ‘Cancel Refresh? button 514, a ‘Refresh All? button 518. The?Refresh Data?” button 518 is selected. When the?Refresh Data? button 512 is clicked, the tabular information 502 will automatically be updated with any changes made to the Web page that contains this tabular data. </p><p style="padding-top:15px">“FIG. “FIG. A logic block diagram showing how to apply the Copy-Paste Web Query module in a spreadsheet program is shown in FIGS. 15A and 15. FIG. FIG. 15 shows a logic flow diagram that illustrates a routine 1500 to apply the Copy-Paste Web Query module in order to create a refreshable Web Query using the MICROSOFT Excel 2002 spreadsheet program. The logic flow diagram in FIG. The processing unit 21 (FIG. 15) executes the logic flow diagram of FIG. 1) as per instructions that have been incorporated in the WQST utility 100. </p><p style="padding-top:15px">“Routine 1500” begins at step 1505. Here, the tabular data from a Web page that is open in an Internet browser will be pasted into a spreadsheet. When the Paste command is used to import tabular data into MICROSOFT Excel 2002 spreadsheet program, the data are placed in a temporary memory location known as a Clipboard. After the Paste command is finished, the tabular data in the Clipboard is copied to a place on a MICROSOFT Excel 2002 worksheet that the user has chosen. After the Paste command is completed, the tabular data will remain on the Clipboard. This allows the user to paste the same data multiple time. </p><p style="padding-top:15px">Step 1505 is followed up by step 1510. In this step, the Copy-Paste Web Query determines whether tabular data copied to the Clipboard was formatted as CF_HTML. The CF_HTML data format can be used to transfer data via the Clipboard between MICROSOFT OFFICE XP apps. While Copy-Paste Web Query uses the CF_HTML data format, those skilled with the art will recognize that other formats are possible to transfer data between applications without affecting the scope of the invention. If it is determined that tabular data cannot be formatted as CF_HTML then the?NO? If the tabular data cannot be formatted as CF_HTML, then the?NO? branch is followed to?END? step.” </p><p style="padding-top:15px">“However, if it is determined that the tabular data copied onto the Clipboard can also be formatted in CF_HTML then the?YES?” The branch is then followed up to step 1515. Step 1515 determines whether the registry key associated to the tabular data, namely, the Administrative Registry Key has been disabled. If the Administrative Registry Key is set to disable, then the?YES! If the Administrative Registry Key has been set to disable, the?YES? branch is followed up to the??END? step.” </p><p style="padding-top:15px">“On the other side, the Administrative Registry Key must not be set to disable. The?NO? “On the other hand, if the Administrative Registry Key has not been set to disable, the?NO? branch is followed to step1520. In this step, it is determined whether tabular data was created using an application program other MICROSOFT OFFICE XP program such as the MICROSOFT WORD or MICROSOFT ACCESS application program. The Copy-Paste Web query module checks the?ProgID. META tag in the header of CF_HTML that specifies the source application program. This flag indicates that this flag has been enabled. It means that either the MICROSOFT OFFICE XP spreadsheet program or another MICROSOFT OFFICE XP program (i.e. the MICROSOFT WORD or MICROSOFT POWERPOINT 2002 MICROSOFT POWERPOINT or MICROSOFT ACCESS program) created the tabular information and the?YES! The?END? branch is followed. step.” </p><p style="padding-top:15px">“If the identifying tag indicates the tabular data was created using a non-MICROSOFT OFFICE XP program, the?NO? The Copy-Paste Web Query module then determines whether the URL that is associated with tabular data has a predetermined prefix or is well-formed. The Copy-Paste Web query module checks whether the SourceURL string at URL’s beginning contains the values?http ://?,?https ://?,?htp ://?,, or?file ://?. at the URL’s beginning. This ensures that tabular data is linked to a valid URL that can be accessed later to update it. If the URL source is not properly formed, the?NO? If the source URL is not well formed, then the?NO? branch is used to follow the?END? Schritt. step. The URL source is important. If it isn’t well-formed, any attempts to refresh the data later will fail because the correct URL won’t be available. Instead of making it difficult for the user, WQST imports the data in the normal way. </p><p style="padding-top:15px">“If the URL is correct, Copy-Paste Web Query module will follow the?YES! Branch to step 1530. Step 1530 The Copy-Paste WebQuery module displays the “Create Refreshable WebQuery?” The Paste Recovery Smart Tag allows users to not only copy and paste data but also opens the Web Query menu. </p><p style="padding-top:15px">Step 1530 is followed up by step 1535. This is where the user is asked if they selected the refreshable Web Query option on the Paste Recovery Smart Tag. If the user didn’t select the refreshable Web query option from Paste Recovery Smart Tag then the?NO? message will be displayed. If the user did not select the refreshable Web Query option from Paste Recovery Smart Tag, then the?NO? branch is followed to?END? step. If the user has selected the refreshable Web query option, the?YES! button will be displayed. The branch continues to step 1540. In this dialog box, the Copy-Paste Web Query module opens a Web Query dialogue box in the spreadsheet program and pre-loads URLs from the Web pages currently open in the Internet browser module. Step 1540 is followed up by step 1545. In this case, the user can select the same, different or multiple instances tabular data from the spreadsheet program to create a refreshed Web Query. </p><p style="padding-top:15px">Step 1545 is followed up by step 1550 in which the Copy/Paste Web Query module creates a refreshed Web Query. The user selects the tabular data in the Web Query dialog box, then selects a predefined option to create the refreshable Web Query. The Copy-Paste WebQuery module will paste the tabular data in the same spot as the original paste when the user clicks on the button. The Copy-Paste Web Query module creates a link between tabular data that has been pasted into the spreadsheet program and tabular data in an Internet browser module. Step 1550 is then followed by step?END? step.” </p><p style="padding-top:15px">“FIG. “FIG. 15 creates a refreshed Web Query. Routine 1550 starts after FIG. 15 and begins at step 1605. This is where it determines whether one instance of tabular data has been selected on the Web page. If only one table has been selected, the answer is?YES? The branch continues to step 1610 where the determination of whether a redirection tags is associated with tabular data in an Internet browser module is made. The U.S. patent application Ser. No. No. July. 21. 2000, herein incorporated as a reference.” </p><p style="padding-top:15px">“If the tabular data is associated with the redirection tag, the?YES?” The branch continues to step 1625. In this case, the Copy-Paste Web Query module associates a redirection tag and the tabular data pasted into the spreadsheet program. The?END? step is next. step. However, if there is no redirection tag attached to the tabular data the?NO? If there is no redirection tag associated with the tabular data, the?NO? branch is used to get to step 1615.” </p><p style="padding-top:15px">“At step 1615 the Copy-Paste Web Query module determines if a tabular identifier has been associated with the tabular information. Typically, tabular information contained in HTML formatted files (including CF_HTML), will be assigned a Tabular Data Identifier that identifies the location of the tabular data relative to other tabular. This tabular data identifier is used by other programs and programmers to quickly access and edit particular tabular data. There are certain situations where the tabular data ID may need to be changed or deleted. Tabular data identifiers below newly added tabular information will be incremented one by default when tabular is being inserted into files. The Copy-Paste WebQuery module examines the tabular information copied from the Internet app module to determine if the tabular identifier is associated. If the tabular data identifier has been associated with the tabular, the answer is a?YES? The branch continues to step 1630 where the tabular identifier will be associated with the tabular information pasted into the spreadsheet program. The?END? command is followed by step 1630. step.” </p><p style="padding-top:15px">“However, if a tabular identifier is not associated to the tabular information, the?NO? The branch continues to step 1620. In this case, the Copy-Paste Web Query module assigns a numerical identifier which is associated tabular data copied from an Internet browser module. An index number is always possible in HTML formatted files. The index number refers to the order that the objects are placed in the file. This allows Internet browsers to position the objects correctly on the screen. This index number can be used by the Copy-Paste Web Query module to identify tabular data copied from the Web site and link it with the tabular information in the spreadsheet program. If there is no tabular number or redirection flag associated with tabular information on the Web page, Copy-Paste WebQuery module can use this index number to link tabular data from the spreadsheet to the tabular content in the browser module. The Copy-Paste Web Query module retrieves the index number and opens the URL to retrieve the tabular information from the Web page. The?END? step is followed by Step 1620. step.” </p><a href="https://patents.google.com/patent/US6948134B2/en" target="_blank" rel="noopener">Click here</a> to view the patent on Google Patents. <div class="contact-us-holder"></div></div></div><div class="col-lg-3 col-sm-12"><div class="sidebar py-4 px-3"><h4 class="text-center">Get A Free Consultation</h4><div><form class=""><div class="mb-1" value=""><label class="form-label" for="sideBarName">Name</label><input type="text" placeholder="Your name" id="sideBarName" class="form-control"/></div><div class="mb-1" value=""><label class="form-label" for="sideBarEmail">Email</label><input type="email" placeholder="Your email address" id="sideBarEmail" class="form-control"/></div><div class="mb-1" value=""><label class="form-label" for="sideBarPhone">Phone</label><input type="text" placeholder="Your phone" id="sideBarPhone" class="form-control"/></div><div class="mb-1"><label class="form-label" for="sideBarSubject">What do you need help with?</label><select aria-label="What do you need help with?" class="form-select" id="sideBarSubject"><option selected="" value="Software Patent">Software Patent</option><option value="AI Patent">AI Patent</option><option value="AR/VR Patent">AR/VR Patent</option><option value="Communication Patent">Communication Patent</option><option value="Electronic Patent">Electronic Patent</option><option value="Fin Tech Patent">Fin Tech Patent</option>Fin Tech Patent<option value="Industrial Design Patent">Industrial Design Patent</option><option value="Medical Device">Medical Device Patent</option><option value="Mechanical Design">Mechanical Design Patent</option><option value="Trademark">Trademark</option></select></div><div class="mb-1" value=""><label class="form-label" for="sideBarMessage">How can we help you with?</label><textarea rows="2" placeholder="Your message" id="sideBarMessage" class="form-control"></textarea></div><div class="mb-1"><div></div></div><span class="text-muted" style="font-size:10px">By submitting your agree with our Privacy Policy</span><button id="sideBarBtn" class="btn btn-warning w-100 mt-1">Submit</button></form></div></div></div></div></div></section><div style="visibility:hidden;opacity:0" class="overlay"><div class="popup"><h2></h2><span class="close">×</span><div class="content"><h3 class="text-center fw-bold mb-4">Submit your email and get to <br/> download this post as a PDF file</h3><form class=""><div class="mb-3" value=""><input type="email" placeholder="Enter email" id="formBasicEmail" class="form-control"/></div><button class="btn btn-warning w-100">Submit</button></form></div></div></div></main><div class="footer"><div class="footer-container"><div class="f-item"><h4>Address</h4><p>4701 Patrick Henry Dr, Building #16, <br/>Santa Clara, CA 95054</p><div class="f-subs"><input type="text" placeholder="Enter Your Email" value=""/><button id="subscribeBtn" class="btn btn-warning">Subscribe</button></div></div><div class="f-item"><h4>Phone</h4><a href="tel:8887238320">888-723-8320</a><h4>E-mail</h4><a href="mailto:info@patentpc.com">info@patentpc.com</a></div><div class="f-item"><h4>Quick Links</h4><a href="/about">About Us</a><a href="/patentfaqs">Patent FAQs</a><a href="/trademark-faqs">Trademark FAQs</a><a href="/case-studies">Case Studies</a><a href="/blog">Blog</a><a href="/contact">Contact</a></div></div><div class="f-copy"><p>Copyright © 2023 PatentPC</p></div></div><button id="scrollToTopButton" class="hidden"><svg class="ast-arrow-svg" xmlns="http://www.w3.org/2000/svg" version="1.1" x="0px" y="0px" width="26px" height="16.043px" viewBox="57 35.171 26 16.043" enable-background="new 57 35.171 26 16.043"><path d="M57.5,38.193l12.5,12.5l12.5-12.5l-2.5-2.5l-10,10l-10-10L57.5,38.193z"></path></svg></button></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script src="/assets/scripts/sticky.js"></script><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/blog/patent-for-integrated-method-to-create-a-refreshable-web-query-us6948134b2";window.___webpackCompilationHash="bc66c7d72c772461ebab";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-88ee24e6e304d120bd2f.js"],"app":["/app-84e879ed82ee0d40c2e7.js"],"gatsby-plugin-image":["/gatsby-plugin-image-30bd4c832f5419bddc7e.js"],"component---src-pages-404-js":["/component---src-pages-404-js-cef22fda864261866d16.js"],"component---src-pages-about-js":["/component---src-pages-about-js-057714bf929d6e8d66bd.js"],"component---src-pages-blog-js":["/component---src-pages-blog-js-af26952afa991b7dbc58.js"],"component---src-pages-blogs-patents-js":["/component---src-pages-blogs-patents-js-88cbfb714bfa4b307cb3.js"],"component---src-pages-blogs-trademark-patents-js":["/component---src-pages-blogs-trademark-patents-js-a88e18162fdf803c6db7.js"],"component---src-pages-case-studies-js":["/component---src-pages-case-studies-js-8889a10efde8b4e8e0d8.js"],"component---src-pages-companies-alphabet-js":["/component---src-pages-companies-alphabet-js-6c84192130e5e5fac989.js"],"component---src-pages-companies-amazon-js":["/component---src-pages-companies-amazon-js-db8e7ec8e03b55aaae9f.js"],"component---src-pages-companies-apple-js":["/component---src-pages-companies-apple-js-44219fa39ef0081aab3c.js"],"component---src-pages-companies-meta-js":["/component---src-pages-companies-meta-js-23e911e3913903a7be24.js"],"component---src-pages-companies-microsoft-js":["/component---src-pages-companies-microsoft-js-a04833bc33113989bdaf.js"],"component---src-pages-companies-samsung-js":["/component---src-pages-companies-samsung-js-11027eed09fc22a76156.js"],"component---src-pages-contact-js":["/component---src-pages-contact-js-63b36d1b0b13118316c5.js"],"component---src-pages-for-founders-entrepreneurs-js":["/component---src-pages-for-founders-entrepreneurs-js-0e59c8d2793f26badeac.js"],"component---src-pages-home-js":["/component---src-pages-home-js-f61846f52e79e7e56428.js"],"component---src-pages-home-new-js":["/component---src-pages-home-new-js-0460793fbdbc654ae4ff.js"],"component---src-pages-home-quiz-js":["/component---src-pages-home-quiz-js-f9dcd2dd1b97111ccd41.js"],"component---src-pages-index-js":["/component---src-pages-index-js-50248782f22a85d86468.js"],"component---src-pages-industries-3-d-printing-js":["/component---src-pages-industries-3-d-printing-js-a87a587215d4153b29e9.js"],"component---src-pages-industries-animal-health-js":["/component---src-pages-industries-animal-health-js-820506513c40f79403d4.js"],"component---src-pages-industries-artificial-intelligence-ai-js":["/component---src-pages-industries-artificial-intelligence-ai-js-0f3910fa8e4a4cf0c156.js"],"component---src-pages-industries-autonomous-vehicles-js":["/component---src-pages-industries-autonomous-vehicles-js-89de09ff1a4dec03c735.js"],"component---src-pages-industries-biopharmaceuticals-js":["/component---src-pages-industries-biopharmaceuticals-js-225db1cc0fa425baf862.js"],"component---src-pages-industries-blockchain-and-fintech-js":["/component---src-pages-industries-blockchain-and-fintech-js-1cb66a15af5518dbb8b3.js"],"component---src-pages-industries-cannabis-patents-and-trademarks-js":["/component---src-pages-industries-cannabis-patents-and-trademarks-js-41ce4f464f7be606283e.js"],"component---src-pages-industries-chemical-products-js":["/component---src-pages-industries-chemical-products-js-42d5dff4dfef64c7d8e3.js"],"component---src-pages-industries-communications-js":["/component---src-pages-industries-communications-js-e78139da212149c9b545.js"],"component---src-pages-industries-consumer-products-js":["/component---src-pages-industries-consumer-products-js-5f5dfb3510b196bead25.js"],"component---src-pages-industries-digital-healthcare-js":["/component---src-pages-industries-digital-healthcare-js-9ce47b39c20e743b5ee1.js"],"component---src-pages-industries-electronics-js":["/component---src-pages-industries-electronics-js-78e23018034eefbede38.js"],"component---src-pages-industries-food-science-packaging-js":["/component---src-pages-industries-food-science-packaging-js-b5274e45f12d3d616256.js"],"component---src-pages-industries-industrial-and-agricultural-biotech-js":["/component---src-pages-industries-industrial-and-agricultural-biotech-js-fe7ed488e3a705f960d1.js"],"component---src-pages-industries-industrial-products-js":["/component---src-pages-industries-industrial-products-js-b1ee58af4936dab7db9b.js"],"component---src-pages-industries-infectious-diseases-js":["/component---src-pages-industries-infectious-diseases-js-52eee6b27e416818a3ec.js"],"component---src-pages-industries-internet-js":["/component---src-pages-industries-internet-js-375887e82808a6742d8f.js"],"component---src-pages-industries-js":["/component---src-pages-industries-js-b69a175c6007b1cae310.js"],"component---src-pages-industries-medical-device-patents-js":["/component---src-pages-industries-medical-device-patents-js-6c6d85552b974f1bf05e.js"],"component---src-pages-industries-metaverse-js":["/component---src-pages-industries-metaverse-js-e56006a5d8d5689ec6eb.js"],"component---src-pages-industries-nanotechnology-js":["/component---src-pages-industries-nanotechnology-js-ff90b51d6f204655bea9.js"],"component---src-pages-industries-patent-news-js":["/component---src-pages-industries-patent-news-js-abf81dbb8647e729a7f7.js"],"component---src-pages-industries-prescription-otc-drugs-js":["/component---src-pages-industries-prescription-otc-drugs-js-fd08a58706b73a28d753.js"],"component---src-pages-industries-software-js":["/component---src-pages-industries-software-js-7abeab185c179dad7d3d.js"],"component---src-pages-industries-therapeutic-antibodies-js":["/component---src-pages-industries-therapeutic-antibodies-js-f3bb6a89163d0a17615a.js"],"component---src-pages-ipchecker-js":["/component---src-pages-ipchecker-js-747fbb72b1740e241637.js"],"component---src-pages-patent-analyzer-js":["/component---src-pages-patent-analyzer-js-39c538a75dac5a325bfc.js"],"component---src-pages-patentfaqs-how-to-respond-to-office-action-js":["/component---src-pages-patentfaqs-how-to-respond-to-office-action-js-249f08f6a0190692678f.js"],"component---src-pages-patentfaqs-ip-basics-js":["/component---src-pages-patentfaqs-ip-basics-js-ac8a2a2f5cf347dd5201.js"],"component---src-pages-patentfaqs-js":["/component---src-pages-patentfaqs-js-b587cd68113eca4f53ad.js"],"component---src-pages-patentfaqs-patent-basics-how-to-set-up-an-account-with-the-uspto-js":["/component---src-pages-patentfaqs-patent-basics-how-to-set-up-an-account-with-the-uspto-js-0f643c184cc416ef490a.js"],"component---src-pages-patentfaqs-patent-basics-js":["/component---src-pages-patentfaqs-patent-basics-js-24f6094d44e3e11b10ba.js"],"component---src-pages-patentfaqs-patent-basics-will-i-need-a-patent-attorney-or-agent-for-the-application-process-js":["/component---src-pages-patentfaqs-patent-basics-will-i-need-a-patent-attorney-or-agent-for-the-application-process-js-46a2fd6acccd99050699.js"],"component---src-pages-patentfaqs-the-uspto-has-issued-your-patent-js":["/component---src-pages-patentfaqs-the-uspto-has-issued-your-patent-js-c990887064839ca44895.js"],"component---src-pages-patentfaqs-utility-patent-application-filing-a-utility-patent-application-js":["/component---src-pages-patentfaqs-utility-patent-application-filing-a-utility-patent-application-js-5af5e94a78493a23dc10.js"],"component---src-pages-patentfaqs-utility-patent-application-js":["/component---src-pages-patentfaqs-utility-patent-application-js-3ce788a0f1c406950a55.js"],"component---src-pages-patentfaqs-what-is-a-provisional-patent-application-ppa-after-you-submit-a-provisional-patent-application-js":["/component---src-pages-patentfaqs-what-is-a-provisional-patent-application-ppa-after-you-submit-a-provisional-patent-application-js-2c984469c99e6e926f9f.js"],"component---src-pages-patentfaqs-what-is-a-provisional-patent-application-ppa-js":["/component---src-pages-patentfaqs-what-is-a-provisional-patent-application-ppa-js-daebe65f9ad74769d33e.js"],"component---src-pages-premeeting-js":["/component---src-pages-premeeting-js-59fc34424c8b511fe5df.js"],"component---src-pages-quiz-index-js":["/component---src-pages-quiz-index-js-340df1bb879578c17b65.js"],"component---src-pages-quiz-intro-js":["/component---src-pages-quiz-intro-js-0196ca73e18017e7b3e3.js"],"component---src-pages-quiz-q-1-js":["/component---src-pages-quiz-q-1-js-34dab9ee1f4f4f014ff6.js"],"component---src-pages-quiz-q-2-js":["/component---src-pages-quiz-q-2-js-53a7300f7758a55180b6.js"],"component---src-pages-quiz-q-3-js":["/component---src-pages-quiz-q-3-js-6a3cc5bd59ee335c4e76.js"],"component---src-pages-quiz-q-4-js":["/component---src-pages-quiz-q-4-js-996f981ce7c7eedea110.js"],"component---src-pages-quiz-q-5-js":["/component---src-pages-quiz-q-5-js-28a2344c93a8b4d419cd.js"],"component---src-pages-quiz-result-js":["/component---src-pages-quiz-result-js-eadd0a4cec32f25cb078.js"],"component---src-pages-sitemap-js":["/component---src-pages-sitemap-js-b123ddc4a3c8461a57d8.js"],"component---src-pages-trademark-faqs-js":["/component---src-pages-trademark-faqs-js-73f92d1aa7fb96e08114.js"],"component---src-templates-blogpost-js":["/component---src-templates-blogpost-js-83fc3a7779b79f7166e0.js"]};/*]]>*/</script><script src="/polyfill-88ee24e6e304d120bd2f.js" nomodule=""></script><script src="/app-84e879ed82ee0d40c2e7.js" async=""></script><script src="/framework-e125b82d136f63f4b8af.js" async=""></script><script src="/webpack-runtime-e9829067dcb9fef6db36.js" async=""></script></body></html>