[go: up one dir, main page]

DE60133343T2 - Verfahren und System in einem elektronischen Kalkulationsblatt für die Handhabung von benutzerdefinierten Optionen in einer Ausschneiden-Kopieren-Einfügen-Funktion - Google Patents

Verfahren und System in einem elektronischen Kalkulationsblatt für die Handhabung von benutzerdefinierten Optionen in einer Ausschneiden-Kopieren-Einfügen-Funktion Download PDF

Info

Publication number
DE60133343T2
DE60133343T2 DE60133343T DE60133343T DE60133343T2 DE 60133343 T2 DE60133343 T2 DE 60133343T2 DE 60133343 T DE60133343 T DE 60133343T DE 60133343 T DE60133343 T DE 60133343T DE 60133343 T2 DE60133343 T2 DE 60133343T2
Authority
DE
Germany
Prior art keywords
options
der
option
user
cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60133343T
Other languages
English (en)
Other versions
DE60133343D1 (de
Inventor
Frederic La Tourraque Bauchot
Daniel Mauduit
Albert Harari
Benoit Sirot
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE60133343D1 publication Critical patent/DE60133343D1/de
Application granted granted Critical
Publication of DE60133343T2 publication Critical patent/DE60133343T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • TECHNISCHES GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft das Gebiet der Datenverarbeitung durch digitale Computer und insbesondere ein Verfahren und ein System zum Verarbeiten von benutzerdefinierten Optionen während einer Kopieren/Einfügen-Operation oder während einer Ausschneiden/Einfügen-Operation in einem elektronischen Tabellenkalkulationsblatt.
  • ZUGRUNDE LIEGENDE TECHNIK
  • Bis zur Einführung von Computern wurden numerische Analysen, insbesondere Finanzanalysen, für gewöhnlich manuell mit dem Bleistift und einer Tischrechenmaschine in einem Buchhaltungsblock oder auf einem Tabellenkalkulationsblatt durchgeführt. Durch die Anordnung der Daten in Spalten und Zeilen kann ein Leser die Informationen aus Tabellenkalkulationsblättern schnell aufnehmen. Die Erstellung eines Tabellenkalkulationsblattes auf Papier geht jedoch nicht ganz so schnell. Der Prozess ist im Gegenteil eher sehr langsam, da jeder Posten mühsam berechnet und in das Tabellenkalkulationsblatt eingetragen werden muss. Da alle Berechnungen dem Bearbeiter der Tabelle obliegen, sind manuell erstellte Tabellenkalkulationsblätter fehleranfällig. Deshalb ist die manuelle Erstellung von Tabellenkalkulationsblättern langsam, mühsam und unzuverlässig.
  • Mit der Einführung von Mikrocomputern entwickelte sich hierfür eine Lösung in Form „elektronischer Tabellenkalkulationsblätter". Diese Softwareprogramme sind eher unter der Bezeichnung „Tabellenkalkulation" bekannt und bieten einen computergestützten Ersatz für die herkömmlichen Buchhaltungsmittel: den Buchhaltungsblock, den Bleistift und die Tischrechenmaschine. In bestimmter Hinsicht stellen Tabellenkalkulationsprogramme für diese Mittel dasselbe dar wie Textverarbeitungsprogramme für die Schreibmaschinen. Tabellenkalkulationsprogramme bieten bedeutende Erleichterungen bei der Erstellung, Bearbeitung und Nutzung von Finanzmodellen.
  • Ein typisches Tabellenkalkulationsprogramm konfiguriert den Speicher eines Computers so, dass er das Spalten/Zeilen- oder Gitterformat eines Buchhaltungsblocks nachempfindet und so einem Benutzer eine sichtbare Rechenmaschine bietet. Da dieser „Block" im Speicher des Computers dynamisch vorliegt, unterscheidet er sich in von Blöcken in Papierform in mehreren wichtigen Belangen. Die Ortsangaben im elektronischen Tabellenkalkulationsblatt müssen dem Computer zum Beispiel in einem Format mitgeteilt werden, das für ihn verständlich ist. Dies kann mit einem einfachen System erfolgen, indem jeder Zeile in einem Tabellenkalkulationsblatt eine Zahl und jeder Spalte ein Buchstabe sowie jedem Blatt (oder jeder Seite) des Tabellenkalkulationsblattes ein anderer Buchstabe zugewiesen wird. Zum Angeben einer Ortsangabe zum Beispiel in einer Spalte A und einer Zeile 1 der zweiten Seite (d. h. die linke obere Ecke) gibt der Benutzer „B:A1" ein. Auf diese Weise definiert das Tabellenkalkulationsblatt an jedem Schnittpunkt einer Zeile mit einer Spalte innerhalb einer bestimmten Seite einen adressierbaren Speicherplatz oder eine „Zelle".
  • Das Eintragen von Daten in ein elektronisches Tabellenkalkulationsblatt erfolgt im Prinzip in derselben Weise wie das Eintragen auf einen Buchhaltungsblock. Der Benutzer positioniert auf dem Bildschirm einen Cursor an einer gewünschten Stelle und kann dann alphanumerische Informationen eingeben. Außer Text und numerischen Daten können die Zellen eines Tabellenkalkulationsblattes auch spezielle Anweisungen oder „Formeln" speichern, die Berechnungen vorgeben, die mit den in den Zellen des Tabellenkalkulationsblattes gespeicherten Zahlen durchgeführt werden sollen. Solche Tabellenzellen können auch als Bereich definiert und bezeichnet werden, sofern sie als konvexe Zellengruppe angeordnet sind. Ein typisches Beispiel eines solchen bezeichneten Bereichs entspricht einfach einer normalen Tabelle in einem Buchhaltungsblock. Auf diese Weise können Bereichsnamen als Variablen in einer Gleichung verwendet werden, wodurch genaue mathematische Beziehungen zwischen den Zellen definiert werden können. Die Struktur und die Funktionsweise eines Tabellenkalkulationsprogramms einschließlich höher Funktionen wie beispielsweise Funktionen und Makros sind in der technischen, kommerziellen und Patentliteratur dokumentiert. Um einen Überblick zu gewinnen, siehe z. B. Cobb, S., Using Quattro Pro 2, Borland-Osborne, McGraw-Hill, 1990; und LeBlond, G. und Cobb, D., Using 1-2-3, Que corp, 1985. Die Beschreibungen der beiden obigen Programme sind hier durch Bezugnahme einbezogen.
  • Elektronische Tabellenkalkulationsblätter bieten gegenüber ihren Analoga in Papierform viele Vorteile. Erstens können elektronische Tabellenkalkulationsblätter viel größer sein (d. h. mehr Informationen enthalten) als ihre Analoga in Papierform; elektronische Tabellenkalkulationsblätter, die Tausende oder gar Millionen von Zellen enthalten, sind nicht selten. Tabellenkalkulationsprogramme ermöglichen den Benutzern auch die Durchführung von imaginären „was, wenn"-Szenarien. Nach der Eingabe eines Satzes von rechnerischen Beziehungen in ein Arbeitsblatt können die Daten zum Beispiel mittels eingegebener Formeln unter Verwendung verschiedener Annahmen immer wieder neu berechnet werden. Das Ergebnis jeder erneuten Berechnung erscheint fast im selben Augenblick. Um diese Operation manuell mit Papier und Bleistift auszuführen, müsste bei jeder vorgenommenen Änderung jede Beziehung im Modell neu berechnet werden. Somit wurden elektronische Tabellenkalkulationssysteme zur Lösung von „was, wenn"-Problemen entwickelt, um einen Eingabewert zu ändern und die Änderung eines Ausgabewertes zu verfolgen.
  • „Was, wenn"-Probleme können formal durch die Definition einer oder mehrerer benutzerdefinierter Optionen dargestellt werden, von denen jede eine Annahme in der Form „WAHR" oder „FALSCH" darstellt. Eine einzige benutzerdefinierte Option kann sich unterschiedlich auswirken und erfordert, dass der Benutzer diese Auswirkung formal durch verschiedene dem Tabellenkalkulationsblatt eigene Mittel darstellt. Bei der heutigen Tabellenkalkulationstechnologie können solche Mittel auf dem Schreiben von Tabellenkalkulationsformeln (die somit eine gewisse Beherrschung der Formelsprache und -syntax erfordern) oder auf der Nutzung so genannter Versionen beruhen. In beiden Fällen kommt es zu verschiedenen Beschränkungen, die diese Tabellenkalkulationsmittel zu unproduktiven und fehleranfälligen Lösungen werden lassen können.
  • Wenn der Benutzer Tabellenkalkulationsformeln verwenden will, muss er als Erstes die Formelsprache des Tabellenkalkulationsblattes beherrschen, was für eine in Programmiersprachen ungeübte Person keine leichte Aufgabe darstellt. Dann muss der Benutzer selbst eine formale Darstellung der benutzerdefinierten Optionen zusammen mit den zu deren Verwaltung erforderlichen Mitteln definieren: diese zweite Aufgabe ist noch schwieriger, da der Benutzer nicht auf einen bindenden Satz von Regeln zurückgreifen kann (wie sie in einem Sprachencompiler oder -übersetzer eingesetzt werden), um zu ermitteln, ob seine Arbeit fehlerfrei ist. Außerdem lässt sich ein elektronisches Tabellenkalkulationsblatt, das von einem bestimmten Benutzer nach seiner Art der Darstellung der Optionen erstellt wurde, von einem anderen Benutzer nur schwer verwenden, da dieser von seinem Vorgänger keine genauen Hinweise erhalten hat, wie er mit den Optionen umgehen soll. Kurz gesagt, wenn ein normaler Benutzer eines Tabellenkalkulationsblattes nicht über fortgeschrittene Programmierkenntnisse verfügt, kann er ein fehlerfreies „was, wenn"-Szenario mit benutzerdefinierten Optionen nicht ausführen und gemeinsam nutzen, indem er einfach die in das Tabellenkalkulationsblatt integrierte Formelsprache nutzt.
  • Aktuelle Tabellenkalkulationsmittel wenden heutzutage das Konzept der Versionen und Versionsgruppen an, die gegenüber dem obigen Ansatz einige Vorteile bieten. Wie im Folgenden ausgeführt wird, stößt jedoch auch die Verwendung von Versionen an einige Grenzen.
  • Zuerst soll zur Betrachtung des Versionskonzepts ein Blick auf die folgende Beschreibung geworfen werden, die in der Online-Hilfe des Tabellenkalkulationsprogramms 1-2-3 von Lotus Corporation zu finden ist. „Versionen sind Sätze unterschiedlicher Daten für den Bereich gleichen Namens. Jede Version hat einen Namen, ein Datum und einen Zeitpunkt der Erzeugung und Änderung sowie den Namen der Person, welche die Version erzeugt oder zuletzt geändert hat. Einer Version können auch Stile und Schutzvorgaben zugewiesen und ein Kommentar angehängt werden. Zum Beispiel kann ein Bereich den Namen „Einnahmen" erhalten und in drei Versionen erstellt werden: HighRev mit Werten von 600, 500, 400 und 300; MedRev mit Werten von 500, 400, 300 und 200; und LowRev mit Werten von 400, 300, 200 und 100. Von jedem mit einem Namen bezeichneten Bereich können Versionen erstellt werden. Zum Beispiel kann ebenso wie bei der Erstellung von Versionen des Bereichs „Einnahmen" ein anderer Bereich „Ausgaben" benannt und von diesem Versionen mit der Bezeichnung HighExp, MedExp und LowExp erzeugt werden. Wenn Versionen für einen Bereich mit einem Namen erzeugt werden, werden alle Versionen in den Zellen des Bereichs gespeichert. 1-2-3 führt die Berechnungen unter Verwendung der Werte in der aktuell dargestellten Version durch. Alle in den Zellen vorgenommenen Änderungen des Stils und der Daten führen automatisch zur Aktualisierung der Version innerhalb dieses Bereichs."
  • Wenn von einem Bereich Versionen erstellt werden, kann der Benutzer für diesen Bereich verschiedene Versionen definieren. Im klassischen Fall der Verwaltung mehrerer Optionen kann die Anzahl der zu definierenden Versionen übermäßig groß werden. Wenn ein elektronisches Tabellenkalkulationsblatt einen Satz von N unabhängigen Optionen anwenden muss, muss in der Tat jede Zelle, deren Inhalt von diesen N Optionen abhängt, in 2N Versionen dargestellt werden, deren jede einer bestimmten Kombination dieser N Optionen entspricht. Abgesehen vom erhöhten Datei- und Speicherplatzbedarf (der zur Leistungsminderung führt), kann diese Situation selbst mit dem Konzept der Versionsgruppen, das die Zuordnung von Versionen für verschiedene Zellenbereiche ermöglicht, für den Benutzer nahezu unbeherrschbar werden, insbesondere wenn es mehrere Versionen von mehreren weit verstreuten Zellen gibt.
  • Dank der Konzepte Option_Manager (Optionsverwaltung) und Option_Applicator (Optionsanwendung) können die oben erwähnten Beschränkungen abgemildert und Optionen in Tabellenkalkulationsblättern einfach definiert, verwaltet und angewendet werden. Zuerst definiert der Benutzer die benutzerdefinierten Optionen, die er für seine Zwecke braucht, dann kann der Benutzer eine oder mehrere dieser benutzerdefinierten Optionen auf eine oder mehrere bestimmte Zellen des Tabellenkalkulationsblattes anwenden. Durch die Verwaltung der verschiedenen in das Tabellenkalkulationsblatt eingefügten benutzerdefinierten Optionen zu einem späteren Zeitpunkt (mit anderen Worten, durch Ändern der benutzerdefinierten Optionen zwischen den Werten „WAHR" und „FALSCH") kann der Benutzer die Auswirkungen jeder benutzerdefinierten Option auf die verschiedenen Zellen leicht und sofort erkennen.
  • Wenn der Benutzer später einen Quellzellenbereich aus dem aktuellen Tabellenkalkulationsblatt kopieren oder ausschneiden und in einen Zielzellenbereich einfügen möchte, kann es zu einem Problem kommen, wenn die in der Quellenumgebung definierten benutzerdefinierten Optionen in der Zielumgebung nicht definiert sind. Diese Situation kann zum Beispiel eintreten, wenn der Zielzellenbereich und der Quellzellenbereich zu verschiedenen Dateien gehören. In diesem Fall ist der Zusammenhang der benutzerdefinierten Optionen nicht mehr gegeben, und die herkömmlichen Tabellenkalkulationsprogramme können bei der Kopieren/Einfügen-Operation oder der Ausschneiden/Einfügen-Operation entweder fehlerhafte oder nur Teilergebnisse liefern. Wenn die Kopieren/Einfügen-Operation oder die Ausschneiden/Einfügen-Operation „wertmäßig" durchgeführt wird, erhält zwar tatsächlich jede Zielzelle im Zielzellenbereich den aktuellen Wert der entsprechenden Zelle im Quellzellenbereich, aber die mit den benutzerdefinierten Optionen übertragenen Informationen gehen verloren. Vielmehr wird die Formel, die bestimmt, wie sich die benutzerdefinierten Optionen auf den Inhalt einer Quellzelle auswirken, in der entsprechenden Zielzelle einfach durch den von ihr angenommenen Wert (mit dem aktuellen Satz von Werten der benutzerdefinierten Optionen) ersetzt, sodass sich jede spätere Änderung des Wertes jeder benutzerdefinierten Option nicht mehr auf den Inhalt der Zielzelle auswirkt. Wenn hingegen die Kopieren/Einfügen-Operation oder die Ausschneiden/Einfügen-Operation einfach inhaltsmäßig durchgeführt wird, zeigt die Zelle im Zielzellenbereich ein Ergebnis „FEHLER", da ihr Inhalt auf benutzerdefinierte Optionen hinweist, die nicht aufgelöst werden können, solange der Kontext des Quellenzellbereichs vom Kontext des Zielzellenbereichs aus nicht wahrgenommen wird. Dieses Problem wird durch die vorliegende Erfindung gelöst, indem der Benutzer der Tabellenkalkulation innerhalb des Zielzellenbereichs die Abhängigkeit von den benutzerdefinierten Optionen auch dann beibehalten kann, wenn die Zellen des Quellenbereichs nicht zum selben Kontext gehören (zum Beispiel, wenn sie sich nicht innerhalb derselben Tabellenkalkulationsdatei befinden).
  • In der Europäischen Patentanmeldung EP 0 312 480 mit dem Titel „Visually assisted method for transfer of data" wird ein Verfahren zum Übertragen von Daten zwischen Dateien innerhalb eines Anwendungsprogramms oder zwischen mehreren unabhängigen, gleichzeitig aktiven Anwendungsprogrammen beschrieben, die gleichzeitig auf dem Bildschirm eines Computers erscheinen. Die von einem ersten Tabellenort zu übertragenden Daten werden auf dem Bildschirm des Computers markiert. Anschließend kann entweder eine Funktion „Ausschneiden" oder „Kopieren" ausgewählt werden, die um die markierten Daten herum eine Begrenzungslinie zieht. Dann kann mittels einer Eingabeeinheit der eingegrenzte Bereich zu einem neuen Tabellenort auf dem Computer-Bildschirm verschoben werden, ohne die ursprünglich markierten Daten zu verändern oder zu verschieben. Innerhalb des eingegrenzten Bereichs erscheint während der Übertragungsoperation ein Übertragungssymbol, um anzuzeigen, dass die Operation gerade ausgeführt wird. Eine weitere Auswahl einer Funktion „Einfügen" bewirkt, dass die markierten Daten an ihrem neuen Ort eingefügt und die Begrenzungslinie sowie das Datenübertragungssymbol vom Bildschirm des Computers gelöscht werden. Zum Schluss werden bei Auswahl der Funktion „Ausschneiden" die ursprünglich markierten Daten vom Bildschirm des Computers gelöscht, während die ursprünglich markierten Daten bei Auswahl der Funktion „Kopieren" die Markierung verlieren und unverändert bleiben.
  • In der Veröffentlichung mit dem Titel „Clipboard Mechanism for Exchanging Attributes", IBM TDB, IBM Corp., New York, USA, Bd. 38, Nr. 10, 1. Oktober 1995, S. 21 bis 22, XP000540399, ISSN: 0018-8689 wird ein Mechanismus zum unabhängigen Austauschen von Attributen zwischen Anwendungen beschrieben. Daten in einer Zwischenablage (clipboard) können Attribute aufweisen. Zum Beispiel bestehen aus einer Textverarbeitungsanwendung kopierte Textdaten aus normalem Text und Attributen für Farbe, Schriftart, Größe usw. Da aber solche Daten als Einheit übertragen werden, kann durch eine Zwischenablage einer Zeichnung in einer Figur nicht dieselbe Farbe wie einem Absatz zugewiesen werden. Stattdessen muss sich der Benutzer den Namen der Farbe oder die Cursorposition in der Farbpalette merken und dann die Farbe des Ziels manuell ändern, indem er die Darstellung der gewünschten Farbe noch einmal einstellt.
  • Eine weitere Eigenschaft der Attribute beim Austauschen besteht darin, dass sie zu einem Satz von Attributen vereint werden können. Das heißt, ein Attribut ist so lange mit einem anderen Attribut kompatibel, wie sich ihre Namen voneinander unterscheiden. Wenn ein Benutzer zum Beispiel bei einer Zeichnungsanwendung die Farbe eines Kreises und das Füllmuster eines Dreiecks auf mehrere Rechtecke übertragen möchte, wäre es naheliegend, dass der Benutzer zuerst das Farbattribut auswählt, dann das Füllmusterattribut mit der Farbe verknüpft und zum Schluss die verknüpften Attribute auf die Zielobjekte anwendet. Deshalb ist es von Vorteil, die Attribute in einer Attribut-Zwischenablage zu sammeln, obwohl die Daten in einer herkömmlichen Zwischenablage nicht mit den neuen Daten verknüpft, sondern durch diese ersetzt werden.
  • Zur Ausführung der oben angeführten Operationen für den Austausch von Attributen sind die folgenden drei Komponenten erforderlich:
    • • Attribut-Zwischenablage (im Folgenden einfach als „Zwischenablage" bezeichnet)
    • • Attribut-Exportmechanismus („Exporteur")
    • • Attribut-Importmechanismus („Importeur"); „Zwischenablagen" werden von Betriebssystemen bereitgestellt.
  • In der „Zwischenablage” werden Paare aus dem Namen und dem Wert eines Attributs gespeichert. Dadurch, dass die „Zwischenablage" Daten sammelt, kann der Benutzer ein Attribut-Wert-Paar hinzufügen, ohne bereits vorhandene Paare zu entfernen, solange das neue Attribut nicht denselben Namen trägt. Selbst in einem solchen Fall werden Paare nur im Konfliktfall überschrieben. Auf Anforderung kann eine „Zwischenablage” auch ein oder mehrere Paare vergessen.
  • Der „Exporteur" kann vom Benutzer aktiviert werden, üblicherweise durch die Auswahl eines Punktes „Attribute kopieren" im Menü „Bearbeiten". Wenn der „Exporteur" aktiviert ist, führt er die folgenden Operationen aus:
    • • Abfragen der Namen der exportierbaren Attribute von der Anwendung,
    • • Verlassen des Arbeitsablaufs, wenn keine auszuwählenden Attribute vorliegen,
    • • Anzeigen der Attributnamen in einem Listenfeld mit Mehrfachauswahl in einem Dialogfeld mit den Schaltflächen „OK" und „Abbrechen",
    • • Warten, bis der Benutzer die zu exportierenden Attribute auswählt und eine Schaltfläche anklickt,
    • • Verlassen des Arbeitsablaufs, wenn die Schaltfläche „Abbrechen" angeklickt wird oder keine Attribute ausgewählt werden,
    • • Abfragen der Werte der ausgewählten Attribute von der Anwendung und Einfügen der Attribut-Wert-Paare in die „Zwischenablage". Eine erweiterte Realisierungsform des „Exporteurs" kann:
    • • den Menüpunkt „Attribute kopieren" grau unterlegen (damit er nicht ausgewählt werden kann), wenn in Bezug auf den aktuellen Status der Anwendung keine exportierbaren Attribute vorliegen,
    • • die Schaltfläche „OK" grau unterlegen, wenn vom Benutzer keine Attribute ausgewählt werden.
  • Desgleichen kann durch Auswählen eines Punktes im Menü „Bearbeiten" der „Importeur" aktiviert werden. Der aktivierte „Importeur" führt die folgenden Operationen aus:
    • • Abfragen der Namen der exportierten Attribute von der „Zwischenablage",
    • • Abfragen für jeden Attributnamen von der Anwendung, ob er das Attribut importieren kann,
    • • Verlassen des Arbeitsablaufs, wenn keine auszuwählenden Attribute vorliegen,
    • • Anzeigen der gefilterten Attributnamen in einem Listenfeld mit Mehrfachauswahl in einem Dialogfeld mit Schaltflächen „OK" und „Abbrechen",
    • • Warten, bis der Benutzer zu importierende Attribute auswählt und eine Schaltfläche anklickt,
    • • Verlassen des Arbeitsablaufs, wenn die Schaltfläche „Abbrechen" angeklickt wird oder keine Attribute ausgewählt werden,
    • • Abfragen der Werte der ausgewählten Attribute von der „Zwischenablage" und Mitteilen der Attribut-Wert-Paare an das Anwendungsprogramm.
  • Eine erweiterte Realisierungsform des „Importeurs" kann:
    • • den Menüpunkt „Attribute einfügen" grau unterlegen, wenn es keine importierbaren Attribute gibt,
    • • die Schaltfläche „OK" grau unterlegen, wenn vom Benutzer keine Attribute ausgewählt werden.
  • In der US-Patentschrift 5 303 147 wird ein Tabellenkalkulationsblatt mit Szenariobearbeitung beschrieben. Der Benutzer kann wahlweise neue Werte für Operanden eingeben, die in Zellen eingegeben werden sollen.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Die vorliegende Erfindung betrifft das Gebiet der Datenverarbeitung mit digitalen Computern und insbesondere ein Verfahren und ein System in einer elektronischen Tabellenkalkulation zur Verarbeitung von benutzerdefinierten Optionen während einer Kopieren/Ausschneiden-Einfügen- Operation, wenn der Quellzellenbereich eine oder eine Vielzahl von Zellen mit benutzerdefinierten Optionen umfasst und wenn die Zielumgebung nicht unbedingt dieselben benutzerdefinierten Optionen wie in der Quellenumgebung definiert. Das Verfahren zur Verarbeitung benutzerdefinierter Optionen während einer Kopieren/Einfügen-Operation oder einer Ausschneiden/Einfügen-Operation umfasst die folgenden Schritte:
    • • Definieren einer oder einer Vielzahl von Kombinationen, wobei jede Kombination eine oder eine Vielzahl von Optionen umfasst;
    • • Definieren eines Quellzellenbereichs und eines Zielzellenbereichs;
    • • Definieren einer auszuführenden Operation, entweder einer Kopieren/Einfügen-Operation oder einer Ausschneiden/Einfügen-Operation;
    wenn mindestens eine Zelle im Quellzellenbereich einen Bezug auf eine oder auf die Vielzahl von Optionen umfasst, für jede definierte Kombination von Optionen, die eine oder eine Vielzahl von Optionen umfasst:
    • • Berechnen des Inhalts jeder Zelle im Quellzellenbereich gemäß der einen oder der Vielzahl von Optionen;
    • • Erzeugen eines Versionsexemplars des Zielzellenbereichs;
    • • Kopieren des Quellzellenbereichs in das Versionsexemplar;
    wenn die letzte Kombination von Optionen kopiert wurde:
    • • Löschen des Quellzellenbereichs, wenn eine Ausschneiden/Einfügen-Operation ausgeführt wurde.
  • Bei einer bestimmten Ausführungsart umfasst das Verfahren ferner die folgenden Schritte:
    • • Definieren eines Namens für jede definierte Kombination von Optionen;
    • • Benennen des Versionsexemplars mit dem definieren Namen der Kombination.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die für die Erfindung als charakteristisch angesehenen neuartigen und erfindungsgemäßen Merkmale werden in den angehängten Ansprüchen dargelegt. Hingegen die Erfindung selbst sowie eine bevorzugte Ausführungsart, und weitere Aufgaben und Vorteile der Erfindung lassen sich am besten aus der folgenden detaillierten Beschreibung einer anschaulichen detaillierten Ausführungsart in Verbindung mit den beiliegenden Zeichnungen verstehen, wobei:
  • 1A ein Blockschaltbild eines Computersystems ist, in welchem die vorliegende Erfindung realisiert werden kann.
  • 1B ein Blockschaubild eines Softwaresystems einschließlich eines Betriebssystems, einer Anwendungssoftware und einer Benutzeroberfläche zum Ausführen der vorliegenden Erfindung zeigt.
  • 1C den grundlegenden Aufbau und die Funktionalität einer grafischen Benutzeroberfläche veranschaulicht, in welcher die vorliegende Erfindung realisiert werden kann.
  • 2A ein Tabellenkalkulationsblatt einer Mappen-Oberfläche gemäß der bevorzugten Ausführungsart der vorliegenden Erfindung zeigt.
  • 2B die Funktionsleiste der in 2A dargestellten Mappen-Oberfläche zeigt.
  • die 2C und 2D Seitenkennungen zeigen, um schnell auf einzelne Seiten der in 2A dargestellten Mappen-Oberfläche zuzugreifen und diese zu bearbeiten.
  • 3 eine bevorzugte Benutzeroberfläche für Tabellenkalkulationsblätter zum Verwalten benutzerdefinierter Optionen gemäß der vorliegenden Erfindung veranschaulicht.
  • 4 eine bevorzugte Benutzeroberfläche für Tabellenkalkulationsblätter zum Anwenden benutzerdefinierter Optionen innerhalb einer bestimmten Zelle gemäß der vorliegenden Erfindung veranschaulicht.
  • 5 den Aufbau der Tabelle „Optionskombinationen" in der bevorzugten Ausführungsart der vorliegenden Erfindung veranschaulicht.
  • 6 eine bevorzugte Benutzeroberfläche für Tabellenkalkulationsblätter zur Verarbeitung benutzerdefinierter Optionen während einer Kopieren/Einfügen-Operation oder einer Ausschneiden/Einfügen-Operation gemäß der vorliegenden Erfindung veranschaulicht.
  • 7 ein Ablaufplan ist, der ein bevorzugtes Verfahren gemäß der vorliegenden Erfindung zur Verarbeitung benutzerdefinierter Optionen während einer Kopieren/Einfügen-Operation oder einer Ausschneiden/Einfügen-Operation veranschaulicht.
  • 8 ein vereinfachter Ablaufplan ist, der das Verfahren gemäß der vorliegenden Erfindung veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSART
  • Systemhardware
  • Die vorliegende Erfindung kann in einem Computersystem 100 gemäß 1A ausgeführt werden, das einen Zentralprozessor 101, einen Arbeitsspeicher 102, eine Eingabe/Ausgabe-Steuereinheit 103, eine Tastatur 104, eine Zeigereinheit 105 (z. B. eine Maus, eine Rollkugel, einen Stift oder Ähnliches), eine Anzeigeeinheit 106 und einen Massenspeicher 107 (z. B. eine Festplatte) umfasst. Auf Wunsch können in das System 100 weitere Eingabe/Ausgabe-Einheiten wie beispielsweise eine Druckeinheit 108 integriert werden. Das Schaubild zeigt, dass die verschiedenen Komponenten des Systems 100 über einen Systembus 110 oder eine ähnliche Architektur miteinander in Verbindung stehen. Bei einer bevorzugten Ausführungsart beinhaltet das Computersystem 100 einen IBM-kompatiblen Personal Computer, der von mehreren Lieferanten (einschließlich von International Business Machines – IBM Corporation in Armonk, New York, USA) bezogen werden kann.
  • 1B zeigt ein Computer-Softwaresystem 150, das die Arbeit des Computersystems 100 steuert. Das Softwaresystem 150 ist im Arbeitsspeicher 102 und im Plattenspeicher 107 gespeichert und enthält einen Kern oder ein Betriebssystem 151 und eine Shell oder Oberfläche 153. Ein oder mehrere Anwendungsprogramme, zum Beispiel die Anwendungssoftware 152, können „geladen" (d. h. vom Speicher 107 in den Speicher 102 übertragen) werden, um sie durch das System 100 auszuführen. Das System 100 empfängt Benutzerbefehle und Daten über die Benutzeroberfläche 153; diese Eingaben können dann entsprechend den Anweisungen aus dem Betriebsmodul 151 und/oder aus dem Anwendungsmodul 152 durch das System 100 verarbeitet werden. Die Oberfläche 153, bei der es sich vorzugsweise um eine grafische Benutzeroberfläche (Graphical User Interface, GUI) handelt, dient auch zur Anzeige von Ergebnissen, damit der Benutzer weitere Eingaben vornehmen oder die Sitzung beenden kann. Bei einer bevorzugten Ausführungsart handelt es sich bei dem Betriebssystem 151 und der Oberfläche 153 um Microsoft Win95, das von Microsoft Corporation, Redmond, Washington, USA, bezogen werden kann. Das Anwendungsmodul 152 hingegen beinhaltet ein Mappen-Tabellenkalkulationsprogramm gemäß der vorliegenden Erfindung, das im Folgenden ausführlich beschrieben wird.
  • Oberfläche
  • A. Einführung
  • Die folgende Beschreibung befasst sich mit den gegenwärtig bevorzugten Ausführungsarten der vorliegenden Erfindung, die in Tabellenkalkulationsanwendungen realisiert werden, welche in der Umgebung von Microsoft Win95 laufen. Die vorliegende Erfindung ist jedoch nicht auf eine bestimmte Anwendung oder eine bestimmte Umgebung beschränkt. Vielmehr kann sich der Fachmann vorstellen, dass das System und die Verfahren der vorliegenden Erfindung vorteilhaft auf eine Vielfalt von System- und Anwendungssoftware angewendet werden können, darunter auf Datenbankverwaltungssysteme, Textverarbeitungssysteme und Ähnliche. Darüber hinaus kann die vorliegende Erfindung auf einer Vielfalt verschiedener Plattformen realisiert werden, darunter Macintosh, UNIX, NextStep und Ähnliche. Deshalb dient die folgende Beschreibung beispielhafter Ausführungsarten lediglich zur Veranschaulichung und nicht der Beschränkung.
  • Das System 100 von 1C beinhaltet eine Fensteroberfläche oder einen Arbeitsbereich 160. Das Fenster 160 stellt eine rechteckige grafische Benutzeroberfläche (Graphical User Interface, GUI) dar, die auf einem Bildschirm 106 dargestellt wird; auf Wunsch können weitere Fensterelemente in verschiedenen Größen und Formaten (z. B. nebeneinander oder überlappend) dargestellt werden. Im oberen Bereich des Fensters 160 befindet sich eine Menüleiste 170 mit einer Vielzahl auswählbarer Benutzerbefehle, die jeweils weitere Untermenüs und Softwaretools zur Verwendung mit Anwendungsobjekten aufrufen können. Das Fenster 160 beinhaltet einen Kunden-Bereich 180 (client area) zum Anzeigen und Bearbeiten von Bildschirmobjekten, zum Beispiel eines Grafikobjekts 181 oder eines Textobjekts 182. Im Wesentlichen stellt der Kunden-Bereich einen Arbeitsbereich oder ein Darstellungsfeld für den Benutzer dar, damit dieser auf die im Computersystem 100 vorhandenen Datenobjekte einwirken kann.
  • Die Fensteroberfläche 160 beinhaltet einen Bildschirmcursor oder -zeiger 185 zum Auswählen oder anderweitigen Aufrufen interessierender Bildschirmobjekte. Als Reaktion auf Signale von der Zeigereinheit 105, welche die Benutzerbewegung repräsentieren, gleitet der Cursor 185 (d. h. bewegt sich der Cursor frei) über den Bildschirm 106 zu einem gewünschten Ort auf dem Bildschirm. Während oder nach der Cursorbewegung kann der Benutzer Signale für Benutzerereignisse (z. B. mit der Maustaste „anklicken" oder „ziehen"), um Objekte gemäß der in der Technik bekannten Art auszuwählen oder zu bearbeiten. Das Fenster 160 zum Beispiel kann durch „Anklicken" (Auswählen) von Bildschirmkomponenten 172, 174/175, bzw. 177/178 geschlossen, in der Größe verändert oder verschoben werden.
  • Bei einer bevorzugten Ausführungsart wird der Bildschirmcursor 185 mit einer Mauseinheit gesteuert. Es gibt Mauseinheiten mit einer, zwei oder drei Tasten von einer Vielzahl von Anbietern, darunter Apple Computer in Cupertino, Kalifornien, Microsoft Corporation in Redmond, Washington bzw. Logitech Corporation in Fremont, Kalifornien. Vorzugsweise wird als Steuereinheit 185 für den Bildschirmcursor eine Mauseinheit mit zwei Tasten verwendet, die sowohl eine rechte als auch eine linke „Maustaste" aufweist.
  • Programmiertechniken und -verfahren sind in der Programm- und Hardwareliteratur bestens dokumentiert: siehe z. B. Microsoft House Programmer's Reference, Microsoft Press, 1989. Der allgemeine Aufbau und die Funktionsweise eines durch Ereignisse gesteuerten GUI-Systems wie beispielsweise Windows ist in der Technik ebenfalls bekannt: siehe z. B. Petzold, C., Programming Windows, Zweite Auflage, Microsoft Press, 1990. Die beiden Beschreibungen sind hier durch Bezugnahme einbezogen.
  • B. Bevorzugte Oberfläche
  • Im Folgenden wird eine in 2A gezeigte Mappen-Tabellenkalkulationsoberfläche gemäß der vorliegenden Erfindung beschrieben. Die Tabellenmappe oder das Arbeitsbuch gemäß der vorliegenden Erfindung beinhaltet einen Mappen-Arbeitsbereich 200 zum Empfangen, Verarbeiten und Darstellen von Daten, darunter alphanumerischer sowie grafischer Informationen. Der Mappen-Arbeitsbereich 200 beinhaltet eine Menüleiste 210, eine Funktionsleiste 220, eine Anzeige 230 für die aktuelle Zelle, eine Eingabezeile 231, eine Statuszeile 240 und ein Mappenfenster 250. Die Menüleiste 210 zeigt eine Hauptebene von Benutzerbefehlen an und ruft diese als Reaktion auf Benutzereingaben auf. Über das Menü 210 werden auch weitere Listenmenüs geöffnet, wie sie in Windowsanwendungen bekannt sind. Die Eingabezeile 231 nimmt Benutzerbefehle und Daten zum Eingeben und Bearbeiten von Zelleninhalten auf, zu denen Daten, Formeln, Makros oder Ähnliches gehören können. Die Anzeige 230 zeigt eine Adresse der aktuellen Cursorposition (d. h. der aktuellen Zelle) oder die Adresse oder den Namen eines ausgewählten benannten Bereichs (d. h. aktive Auswahl) an. In der Statuszeile 240 zeigt das System 100 Informationen über den aktuellen Status des Arbeitsbuchs an; zum Beispiel bedeutet eine Anzeige „FERTIG", dass das System bereit steht, damit der Benutzer eine andere auszuführende Aufgabe auswählen kann.
  • Die in 2B genauer dargestellte Funktionsleiste 220 umfasst eine Zeile oder eine Palette von Funktionen, die dem Benutzer eine schnelle Auswahl oft verwendeter Menübefehle oder -eigenschaften ermöglicht. Bei einer beispielhaften Ausführungsart beinhaltet die Funktionsleiste 220 Schaltflächen zur Dateibearbeitung 221, zum Drucken 222, eine Schaltfläche zum Rückgängigmachen 223, Schaltflächen zum Ausschneiden, Kopieren und Einfügen 224, eine Schaltfläche für Informations-Dialogfenster 225, eine Auswahlschaltfläche für benannte Bereiche 226, eine Schaltfläche zum Formatkopieren 227, eine Schaltfläche zum Ändern der Spaltengröße 228 und eine Summationsschaltfläche 229. Die Funktionen dieser Schaltflächen werden durch deren Namen beschrieben. Zum Beispiel werden mit Hilfe der Schaltflächen 224 Daten und Objekte ausgeschnitten und in die Zwischenablage von Windows kopiert und eingefügt bzw. aus dieser abgerufen. Dieselben Funktionen stehen im Menü „Bearbeiten" in Form entsprechender Befehle (in der Menüleiste 210) bereit.
  • Die Mappe, die eine Oberfläche zum Eingeben und Anzeigen interessierender Informationen bietet, beinhaltet eine Vielzahl von Tabellenblättern. Jedes Blatt kann herkömmliche Fensterbearbeitungsmerkmale und -funktionen wie beispielsweise Verschieben, Größe ändern und Löschen beinhalten. Bei einer bevorzugten Ausführungsart beinhaltet die Mappe 256 Tabellenblätter, die jeweils als einzelne Datei im Massenspeicher 107 gespeichert werden. Der Arbeitsbereich 200 kann ein oder mehrere Mappen anzeigen, die entsprechend benutzerspezifischen Angaben formatiert und positioniert (z. B. nebeneinander, überlappend oder Ähnliches) sind.
  • Jedes Tabellenblatt einer Mappe beinhaltet eine zweidimensionale Ausdehnung. Das Blatt A des Notizbuchs 200 zum Beispiel beinhaltet ein Gitter im Zeilen- und Spaltenformat, zum Beispiel eine Zeile 3 und eine Spalte F. An jedem Schnittpunkt zwischen einer Zeile und einer Spalte befindet sich ein Kasten oder eine Zelle (z. B. die Zelle C4) zum Eingeben, Verarbeiten und Anzeigen von Daten auf, herkömmliche Weise. Jede Zelle kann adressiert werden, wobei zum Anzeigen einer gerade aktiven (d. h. der gerade ausgewählten) Zelle ein Auswahlelement bereit steht.
  • Die 2C bis 2D zeigen, dass einzelne Blätter einer Tabellenmappe durch Blattbezeichnungen 260 bezeichnet werden, die vorzugsweise entlang einem Rand einer Mappe angeordnet sind. Bei einer bevorzugten Ausführungsart weist jede Blattbezeichnung die Form eines Karteireiters (z. B. die Reiter 261a, 262a, 263a) auf, die entlang eines oberen Randes der Mappe angeordnet sind. Jeder Karteireiter kann repräsentative Kennzeichen wie beispielsweise Text- oder grafische Kennzeichen beinhalten, darunter vom Benutzer ausgewählte Titel, welche die Inhalte eines entsprechenden Blattes darstellen. In 2C tragen die Karteireiter 260 die entsprechenden Standardnamen. Zum Beispiel tragen die drei ersten Karteireiter (die Reiter 261a, 262a, 262a) die Bezeichnungen A, B bzw. C. Normalerweise erhalten die Karteireiter jedoch beschreibende Namen, die der Benutzer eingibt. So tragen zum Beispiel die drei ersten Karteireiter in 2C die Namen „Inhalte" (Karteireiter 261b), „Zusammenfassung" (Karteireiter 262b) und „Jan" (Karteireiter 263b). Auf ähnliche Weise tragen die übrigen Karteireiter die Namen der nachfolgenden Monate des Jahres. Auf diese Weise bringt der Benutzer die Seitenbezeichnungen mit den bekannten Reitern einer normalen Mappe in Papierform in Verbindung. Somit weiß der Benutzer bereits, wie er ein interessierendes Blatt oder eine interessierende Tabelle auswählen kann: er wählt einfach den diesem Blatt entsprechenden Reiter aus (genauso, wie ein Blatt einer Mappe in Papierform ausgewählt wird).
  • Die vom Benutzer zu wählenden Blattbezeichnungen erleichtern nicht nur die Auswahl eines entsprechenden Datenblatts, sondern unterstützen auch die Eingabe nach Tabellen benannter Bereichsadressen. Wenn der Benutzer zum Beispiel eine Formel eingibt, die sich auf einen benannten Zellenbereich eines anderen Blatts bezieht, kann er in der benannten Bereichsadresse einfach den beschreibenden Blattnamen verwenden, sodass er die Beziehung der aufgerufenen Zellen) oder Daten leichter versteht.
  • Eine allgemeine Beschreibung der Merkmale und der Funktionsweise der Oberfläche einer Tabellenmappe ist in „Quattro Pro for Windows" (Getting Started, User's Guide and Building Spreadsheet Applications), erhältlich von Borland International, zu finden.
  • VERWALTUNG BENUTZERDEFINIERTER OPTIONEN
  • A. Einleitung
  • Da die Leistungsfähigkeit von Tabellenkalkulationsumgebungen seit mehreren Jahren zugenommen hat, können komplexe individuell zugeschnittene Anwendungen im Gegensatz zu universellen Programmiersprachen wie C++ oder VisualBasic von Microsoft Corporation heute ausschließlich auf der Grundlage von Tabellenkalkulationsprogrammen entwickelt werden. Dies kann durch Funktionen wie Makrosprachen, Scriptsprachen, Formeln und Versionen erreicht werden, die in Tabellenkalkulationsprogramme integriert sind. Bei typischen Anwendungen auf der Grundlage von Tabellenkalkulationsprogrammen sind oft Zellen oder Bereiche mehrerer Zellen anzutreffen, deren Inhalt von einer oder mehreren Bedingungen abhängt. Ein aktives „was, wenn"-Szenario kann deshalb als Anwendung verschiedener Sätze von Bedingungen auf solche von Bedingungen abhängige Zellen angesehen werden. Bei herkömmlichen Tabellenkalkulationsfunktionen kann dies durch das Versionskonzept realisiert werden. Eine Version bezieht sich immer auf einen Zellenbereich (der eine oder mehrere Zellen enthält) und kann als ein Satz sich gegenseitig ausschließender Versionen dieses Zellenbereichs angesehen werden. Wenn für ein aktives „was, wenn"-Szenario mehrere unabhängige Bedingungen berücksichtigt werden müssen, nimmt die sich daraus ergebende Anzahl der zu definierenden Versionen exponentiell mit der Anzahl der Bedingungen zu. Somit gibt es für N unabhängige Annahmen 2N verschiedene Kombinationen dieser N Annahmen. Wenn N lediglich gleich 7 ist, beträgt 2N bereits gleich 128. Selbst bei einer kleinen Anzahl von Bedingungen ergibt sich somit eine wesentlich größere Anzahl von Kombinationen, die leicht die Grenzen des Tabellenkalkulationsblatts erreichen kann. Wenn außerdem verschiedene innerhalb eines elektronischen Tabellenkalkulationsblatts verteilte Zellen von ein und demselben Satz von Bedingungen abhängen, wird bei herkömmlichen Funktionen zur elektronischen Tabellenkalkulation vorgeschlagen, das Konzept der Versionsgruppen anzuwenden. Versionsgruppen zwingen den Benutzer der Tabellenkalkulation zu einer sorgfältigen Definition der Abhängigkeiten zwischen Versionen verschiedener Zellenbereiche.
  • Die vorliegende Erfindung bietet eine benutzerfreundliche Lösung dieses Problems, indem sie ein Verfahren und ein System zum Verwalten und Anwenden benutzerdefinierter Optionen auf eine bestimmte Zelle definiert. Wenn der Benutzer der Tabellenkalkulation eine Kopieren/Einfügen-Operation oder eine Ausschneiden/Einfügen-Operation an einem Quellenbereich ausführen muss, der Zellen enthält, auf die benutzerdefinierte Optionen angewendet werden, stoßen herkömmliche Funktionen an enge Grenzen, wenn der Zielbereich zu einem Kontext gehört, bei dem die auf den Zielbereich angewendeten benutzerdefinierten Optionen nicht erkennbar sind. Die vorliegende Erfindung bietet eine benutzerfreundliche Lösung dieses Problems, indem sie ein Verfahren und ein System zum Verarbeiten benutzerdefinierter Optionen während einer Kopieren/Einfügen-Operation oder einer Ausschneiden/Einfügen-Operation definiert.
  • In den nächsten Kapiteln werden die oben erwähnten Bedingungen als Optionen bezeichnet. Eine Option ist als Boole'sche Variable definiert, die auf „Wahr" oder „Falsch" gesetzt werden und den Inhalt jeder beliebigen Zelle innerhalb eines elektronischen Tabellenkalkulationsblatts beeinflussen kann, indem diese einfach als nach dem herkömmlichen Verfahren benannter Bereich aufgerufen wird. Zum Beispiel nimmt die Formel „$baseprice*(1–10%*$discount)" einerseits Bezug auf einen herkömmlich benannten Bereich „baseprice" und andererseits auf einen Bereich mit dem Namen „discount", der ebenfalls als Option gemäß der vorliegenden Erfindung definiert ist. Wenn in diesem Beispiel die Option „discount" „falsch" ist (wobei der Wert der Option „falsch" üblicherweise gleich 0 gesetzt wird), nimmt die Formel denselben Wert an wie im Bereich mit dem Namen „baseprice". Wenn die Option „discount” hingegen „wahr" ist (wobei der Wert der Option „wahr" üblicherweise gleich 1 gesetzt wird), ergibt die Formel einen Wert, der gleich dem Wert des Bereichs mit dem Namen „baseprice", vermindert um 10%, ist.
  • In den folgenden Kapiteln wird eine Zelle, auf die eine oder mehrere benutzerdefinierte Optionen angewendet werden, als Zelle mit aktiver Option (Option Active Cell, OAC) bezeichnet.
  • B. Optionsverwaltung, Optionsanwendung und Optionsausführung
  • Im Gegensatz zu den oben beschriebenen herkömmlichen Funktionen stellt die vorliegende Erfindung aufgrund der folgenden Funktionen ein leistungsfähigeres, benutzerfreundlicheres und interaktives Verfahren zum Verwalten, Anwenden und Ausführen benutzerdefinierter Optionen bereit:
    • • Die „Optionsverwaltung" ermöglicht automatisch dem Benutzer einer elektronischen Tabellenkalkulation zu definieren, ob eine bestimmte Bedingung als so genannte Option ausgeführt werden sollte, und diese Option anschließend zu verwalten.
    • • Die „Objektanwendung" ermöglicht automatisch dem Benutzer, eine oder mehrere benutzerdefinierte Optionen auf eine bestimmte Zelle des Tabellenkalkulationsblatts anzuwenden.
    • • Die „Objektausführung" ermöglicht das sichere Ausführen einer Kopieren/Einfügen-Operation oder einer Ausschneiden/Einfügen-Operation von einem Quellzellenbereich zu einem Zielzellenbereich: – wenn der Quellenbereich Zellen umfasst, auf die benutzerdefinierte Optionen angewendet werden, und – wenn die benutzerdefinierten Optionen vom Zielbereich aus nicht wahrnehmbar sind.
  • Bei einer bevorzugten Ausführungsart wird die vorliegende Erfindung in vier Schritten angewendet:
    • • 1. Im ersten Schritt entscheidet der Benutzer der Tabellenkalkulation anhand hier nicht näher dargelegter Kriterien, ob eine oder mehrere Bedingungen die vorliegende Erfindung nutzen sollen, d. h. von der Optionsverwaltung als eine oder mehrere Optionen verwaltet werden sollen.
  • Darstellen von Optionen
  • Zuerst ruft der Benutzer einen speziellen Befehl „Option_Manager" (Optionsverwaltung) unter Verwendung in der Umgebung der Tabellenkalkulation verfügbarer herkömmlicher Mittel auf, zum Beispiel (aber nicht darauf beschränkt) mit speziellen Schaltflächen, Kurzbefehlen für die Tastatureingabe, Menü- oder Untermenüpunkten. 3 zeigt ein Dialogfeld 300 der Optionsverwaltung, das dadurch auf der Anzeigeeinheit 106 dargestellt wird. Innerhalb des Dialogfeldes 300 der Optionsverwaltung kann der Benutzer bereits definierte Optionen im „Listenfeld" 301 (zum Beispiel die in 3 gezeigten Optionen mit den Bezeichnungen „Jahresende", „Umsatz", „neuer Kunde" und „Rabatt") sowie noch ungenutzte Optionen darstellen, deren Namen einem vorgegebenen Muster folgen, zum Beispiel „Option*", wobei das Zeichen „*" ein Platzhalter zur Darstellung von Zahlen ist. Bei dem in 3 gezeigten Beispiel trägt die unterste Option im Listenfeld 301 den Namen „Option5" und entspricht deshalb in dieser bevorzugten Ausführungsart einer ungenutzten Option. Es können beliebige ähnliche oder abweichende Namensgebungen verwendet werden, ohne vom Geist dieser Erfindung abzuweichen. Zur Darstellung anderer bereits definierter oder als Reserve bereitstehender Optionen, die im Listenfeld 301 des Dialogfeldes 300 der Optionsverwaltung nicht dargestellt sind, kann der Benutzer zum Beispiel mit der Zeigereinheit 105 die Schiebeleiste 302 anklicken, sodass das Listenfeld 301 über die gesamten genutzten oder als Reserve bereitstehenden Optionen hinweg nach oben oder unten verschoben werden kann.
  • Definieren von Optionen
  • Normalerweise kann sich der Benutzer entscheiden, die erste ungenutzte Option (im Listenfeld 301 innerhalb des Dialogfeldes 300 der Optionsverwaltung die „Option5") als erste neu zu verwendende Option festzulegen. Zu diesem Zweck klickt der Benutzer mit der Zeigereinheit 105 auf die Schaltfläche „Umbenennen" 305 auf der rechten Seite des Elements „Option5" des Listenfeldes 301. Dadurch wird die „Option5" in einem neuen Dialogfeld 310 auf der Anzeigeeinheit 106 dargestellt. Innerhalb dieses Dialogfeldes 310 kann der Benutzer in einem Eingabefeld 311 den Standardnamen der Option „Option5" mit der Tastatur 104 in einen neuen Namen ändern. Wenn sich der Benutzer an dieser Stelle aus irgendwelchen hier nicht näher dargelegten Gründen entschließt, keine neue Option zu definieren, kann er diesen Vorgang verlassen, indem er die Schaltfläche „Abbrechen" 313 anklickt. Dies führt zum Schließen des Dialogfeldes 310 auf der Anzeigeeinheit 106 und zum Zurückkehren zum Dialogfeld 300 der Optionsverwaltung. Wenn der Benutzer jedoch weiter die neue Option definieren will, bestätigt er den Vorgang durch Anklicken der Schaltfläche „OK" 313 innerhalb des Dialogfeldes 310. Dann wird das Dialogfeld 310 auf der Anzeigeeinheit 106 geschlossen und zum Dialogfeld 300 der Optionsverwaltung zurückgekehrt, die nun im Listenfeld 301 unten den neuen Namen der soeben definierten Option anzeigt. Wenn der Benutzer andere neue Optionen definieren will, kann er dieselben Schritte so lange wiederholen, wie noch ungenutzte Reserveoptionen vorhanden sind. Wenn dies erledigt ist, klickt der Benutzer mit der Zeigereinheit 105 die Schaltfläche „Fertig" 306 an. Dann wird das Dialogfeld 300 der Optionsverwaltung auf der Anzeigeeinheit 106 geschlossen.
    • • 2. Im zweiten Schritt entscheidet sich der Benutzer der Tabellenkalkulation anhand seiner hier nicht näher dargelegten Kriterien, die vorliegende Erfindung durch Bearbeiten der in der Optionsverwaltung bereits definierten Optionen zu nutzen. Eine solche Bearbeitung kann entweder darin bestehen, eine oder mehrere bereits definierte Optionen umzubenennen oder den Status einer oder mehrerer bereits definierter Optionen zu lesen und/oder (zwischen den Zuständen „Wahr" und „Falsch" zu wechseln.
  • Dialogfeld
  • In beiden Fällen ruft der Benutzer zuerst einen speziellen Befehl „Option_Manager" unter Verwendung in der Umgebung der Tabellenkalkulation vorhandener herkömmlicher Mittel auf, zum Beispiel (aber nicht darauf beschränkt) mit speziellen Schaltflächen, Kurzbefehlen für die Tastatureingabe, Menü- oder Untermenüpunkten. Dann wird die Option im Dialogfeld 300 der Optionsverwaltung auf der Anzeigeeinheit 106 gemäß 3 angezeigt.
  • Darstellen von Optionen
  • Im Dialogfeld 300 der Optionsverwaltung kann der Benutzer bereits im „Listenfeld" 301 definierte Optionen darstellen (zum Beispiel die Optionen mit den Namen „Jahresende", „Umsatz", „neuer Kunde" und „Rabatt" von 3). Um beliebige andere bereits definierte Optionen darzustellen, die im Listenfeld 301 des Dialogfeldes 300 der Optionsverwaltung möglicherweise noch nicht angezeigt werden, kann der Benutzer zum Beispiel die Schiebeleiste 302 mit der Zeigereinheit 105 anklicken, um das Listenfeld 301 über die gesamten genutzten und als Reserve bereit stehenden Optionen hinweg nach oben oder nach unten zu verschieben.
  • Umbenennen von Optionen
  • Wenn der Benutzer eine oder mehrere bereits definierte Optionen umbenennen will, muss er bei jeder in Betracht kommenden Option eine ähnliche Schrittfolge wie beim ursprünglichen Definieren einer neuen Option ausführen. Kurz gesagt, zuerst muss er unter Verwendung der Schiebeleiste 302 die umzubenennende Option im Listenfeld 301 anzeigen, dann die Schaltfläche „Umbenennen" auf der rechten Seite der ausgewählten Option anklicken (zum Beispiel die Schaltfläche 305, wenn die ausgewählte Option im Listenfeld 301 unten erscheint), dann im angezeigten Dialogfeld 310 unter Verwendung der Tastatur 104 den im Fenster 311 angezeigten aktuellen Namen der Option ersetzen und dann die Schaltfläche „OK" 312 anklicken.
  • Optionsstatus lesen/verändern
  • Wenn der Benutzer den Status einer oder mehrerer definierter Optionen lesen und/oder ändern will, beginnt er wie oben (eventuell unter Verwendung der Schiebeleiste 302) mit dem Anzeigen der ersten Option, deren Status gelesen und/oder aktualisiert werden soll, im Listenfeld 301. Dann wird der Status dieser Option im Anzeigefeld unmittelbar rechts vom Listenfeld 301 angezeigt. Wenn sich die aktuell verwaltete Option zum Beispiel im Listenfeld 301 ganz unten befindet, wird diese Statusinformation im Anzeigefeld 303 angezeigt; die Statusinformation kann die Werte „WAHR" oder „FALSCH" annehmen. Wenn sich der Benutzer aus irgendwelchen hier nicht näher dargelegten Gründen entscheidet, den aktuellen Status von „WAHR" in „FALSCH" oder umgekehrt von „FALSCH" in WAHR" zu ändern, muss er mit der Zeigereinheit 105 die Schaltfläche „Ändern" 304 anklicken. Das Ergebnis dieser Operation zeigt sich im Dialogfeld 300 der Optionsverwaltung dadurch, dass die Werte „WAHR" bzw. „FALSCH" im Anzeigefeld 304 wechseln. Alle diese Schritte müssen mit jeder Option wiederholt werden, deren Status der Benutzer lesen und/oder aktualisieren möchte. Anschließend klickt der Benutzer mit der Zeigereinheit 105 die Schaltfläche 306 „Fertig" an. Dadurch wird das Dialogfeld 300 der Optionsverwaltung auf der Anzeigeeinheit 106 geschlossen.
    • • 3. Im zweiten Schritt entscheidet sich der Benutzer der Tabellenkalkulation anhand seiner oder ihrer hier nicht näher dargelegten Kriterien, ob der Inhalt einer bestimmten Zelle (die als Optionsanwendungszelle oder OAC bezeichnet wird) von einer bestimmten definierten Option abhängen soll.
  • Nach dem Auswählen der Zelle, auf welche benutzerdefinierte Optionen angewendet werden sollen, ruft der Benutzer zuerst unter Verwendung in der Umgebung der Tabellenkalkulation verfügbarer Mittel, zum Beispiel (aber nicht darauf beschränkt) Kurzbefehle für die Tastatur, Menü- oder Untermenüpunkte, einen speziellen Befehl mit der Bezeichnung "Option_Applicator" (Objektanwendung) auf. Daraufhin wird auf der Anzeigeeinheit 106 ein Dialogfeld 400 der Objektanwendung gemäß 4 angezeigt.
  • Kombination von Optionswirkungen
  • Innerhalb des Dialogfeldes 400 der Objektanwendung kann der Benutzer sichtbar machen, ob eine bestimmte Option bereits auf die OAC angewendet wurde und, wenn dies der Fall ist, welche Wirkung diese Option hat. Zu diesem Zweck enthält das Dialogfeld 400 der Objektanwendung ein Kombinationsfeld „Optionswirkung" 411, das einen der folgenden möglichen Werte zeigt:
    • • „KEINE" bedeutet, dass keine Option auf die OAC angewendet wird;
    • • „ADDIEREN" bedeutet, dass eine Option mit additiver Wirkung angewendet wird;
    • • „MULTIPLIZIEREN" bedeutet, dass eine Option mit multiplikativer Wirkung angewendet wird; und
    • • „ODER" bedeutet, dass eine Option mit ausschließender Wirkung angewendet wird.
  • Wenn der Benutzer entweder eine neue Option anwenden oder eine vorhandene ändern möchte, braucht er sich nur herkömmlicher Mittel (zum Beispiel der Zeigereinheit 105 oder bestimmter Kurzbefehle für die Tastatur 104) zu bedienen, um den Inhalt im Kombinationsfeld „Optionswirkung" 411 zu ändern. Innerhalb dieses Dialogfeldes 400 der Objektanwendung kann der Benutzer mittels des Kombinationsfeldes „Angewendete Option" 412, welches die die OAC beeinflussende Option anzeigt, auch jede beliebige bereits angewendete Option sichtbar machen. Die im Dialogfeld „Angewendete Option" 412 angezeigten Werte entsprechen der Liste der benutzerdefinierten Optionen, die bereits durch das Verfahren Option_Manager (Optionsverwaltung) definiert und verwaltet werden. Wenn der Benutzer entweder eine bereits angewendete Option ändern oder eine neue Option definieren möchte, braucht er sich zur Änderung des Inhalts des Kombinationsfeldes „Angewendete Option" 412 nur herkömmlicher Mittel (zum Beispiel der Zeigereinheit 105 oder bestimmter Kurzbefehle für die Tastatur 104) zu bedienen, sodass das Kombinationsfeld die gewünschte Option anzeigt.
  • Standardwert
  • Im Dialogfeld 400 der Objektanwendung kann der Benutzer auch den Inhalt der OAC sichtbar machen, wenn die angewendete Option auf „FALSCH" gesetzt ist. Zu diesem Zweck enthält das Dialogfeld 400 der Objektanwendung ein Textfeld „Standardwert" 408, das den Inhalt der OAC anzeigt, wenn die angewendete Option auf „FALSCH" gesetzt ist. Im speziellen Beispiel von 4 entspricht der Standardwert der Zahl 10000. Wenn der Benutzer diesen Standardwert ändern möchte, braucht er sich nur herkömmlicher Mittel (zum Beispiel der Zeigereinheit 105 oder bestimmter Kurzbefehle für die Tastatur 104) zu bedienen, um den Inhalt des Textfeldes „Standardwert" 408 zu ändern, sodass das Textfeld den gewünschten geänderten Wert anzeigt. Wenn der Benutzer während dieser Aktualisierung des Textfeldes „Standardwert" 408 darüber hinaus eine Zelle oder einen Zellenbereich im Tabellenkalkulationsblatt angeben muss, kann er unter Verwendung der Zeigereinheit 105 zuerst die Schaltfläche „Zelle auswählen" 407 anklicken und dann die gewünschte Zelle oder den gewünschten Zellenbereich innerhalb des Tabellenkalkulationsblatts markieren, der angegeben werden soll. Dies führt dazu, dass an den Inhalt des Textfeldes „Standardwert" 408 die Adresse der angegebenen Zelle oder des angegebenen Zellenbereichs angehängt wird. Dieses Merkmal ist besonders dann von Vorteil, wenn der Standardwert als Ergebnis einer arithmetischen Beziehung zwischen Zellen oder Zellenbereichen definiert werden muss.
  • Deltawert
  • Innerhalb dieses Dialogfeldes 400 der Objektanwendung kann der Benutzer auch sichtbar machen, welche Änderung des Inhalts der OAC (entsprechend der im Kombinationsfeld „Optionswirkung" 411 angegebenen Wirkung) sich ergibt, wenn die angewendete Option auf „WAHR" gesetzt wird. Zu diesem Zweck enthält das Dialogfeld 400 der Objektanwendung ein Textfeld „Deltawert" 410, das die Änderung des Inhalts der OAC zeigt, wenn die angewendete Option auf „WAHR" gesetzt wird. Beim speziellen Beispiel von 4 entspricht der Deltawert der Zahl 0,90.
  • Allgemein soll der Fall betrachtet werden, dass der im Textfeld „Standardwert" 408 definierte Standardwert mit D, der im Textfeld „Deltawert" 410 definierte Deltawert mit Δ und der Wert, der sich durch die im Kombinationsfeld „Optionswirkung" 411 angegebene Wirkung ergibt, mit E bezeichnet wird. Wenn der Status der angewendeten Option (die im Kombinationsfeld „Angewendete Option" 412) angegeben ist) gleich „FALSCH" ist, nimmt die OAC ungeachtet des Wertes E den Wert D an; wenn der Status der angewendeten Option gleich „WAHR" ist, nimmt die OAC den Wert D + Δ, D*Δ oder Δ an, wenn der Wert E gleich „ADDITIEREN", „MULTIPLIZIEREN" bzw. „ODER" ist. Wenn der Benutzer den Deltawert ändern möchte, braucht er sich nur herkömmlicher Mittel (zum Beispiel der Zeigereinheit 105 oder bestimmter Kurzbefehle für die Tastatur 104) zu bedienen, um den Inhalt im Textfeld „Deltawert" 410 zu ändern, sodass dieses den gewünschten geänderten Wert anzeigt.
  • Wenn der Benutzer während dieser Aktualisierung des Textfeldes „Deltawert" 410 außerdem einen Bezug zu einer Zelle oder einem Zellenbereich im Tabellenkalkulationsblatt herstellen muss, kann er unter Verwendung der Zeigereinheit 105 zuerst die Schaltfläche „Zelle auswählen" 409 anklicken und dann die gewünschte Zelle oder den gewünschten Zellenbereich im Tabellenkalkulationsblatt markieren, zu dem der Bezug hergestellt werden soll. Dadurch wird die Adresse der bezogenen Zelle oder des bezogenen Zellenbereichs an den Inhalt des Textfeldes „Deltawert" 410 angehängt. Dieses Merkmal ist besonders dann von Nutzen, wenn der Deltawert als Ergebnis einer Rechenoperation zwischen Zellen oder Zellenbereichen angegeben werden muss.
  • Relativer/absoluter Zellenbezug
  • Im Dialogfeld 400 der Objektanwendung kann der Benutzer auch sichtbar machen und einstellen, ob für die angewendete Option ein absoluter Bezug gelten soll. Zu diesem Zweck enthält das Dialogfeld 400 der Objektanwendung ein Kontrollkästchen „Absolute Adresse" 413, das entweder ein Häkchen zeigt oder leer ist. Im ersteren Fall gilt für die angewendete Option ein absoluter und im letzteren Fall ein relativer Zellenbezug. Der Benutzer kann unter Verwendung herkömmlicher Mittel wie zum Beispiel der Zeigereinheit 105 diese Einstellung ändern, indem er das Kontrollkästchen „Absolute Adresse" 413 anklickt, sodass es zwischen einem Häkchen und einem leeren Feld wechselt.
  • Anwenden/Ändern der Optionswirkung
  • Wenn der Benutzer das Anwenden einer neuen Optionswirkung auf eine OAC oder das Ändern einer aktiven Optionswirkung auf eine OAC abgeschlossen hat, kann er diesen Vorgang „aufzeichnen", indem er mit einem herkömmlichen Mittel wie beispielsweise der Zeigereinheit 105 die Schaltfläche „Zuweisen" 406 anklickt. Dies führt zur Aktualisierung des OAC-Inhalts, sodass die Zelle die neue oder aktualisierte Optionswirkung enthält. Wenn der Benutzer der OAC mehr als nur eine Option zuweisen möchte, muss er für jede zuzuweisende Option die obigen Schritte wiederholen und nach dem Zuweisen jeder Option zur OAC den Standardwert der OAC als deren Inhalt neu initialisieren. Zu diesem Zweck enthält das Dialogfeld 400 der Objektanwendung eine Schaltfläche „Standardwert = Zelleninhalt setzen" 404, die der Benutzer der Tabellenkalkulation unter Verwendung herkömmlicher Mittel wie beispielsweise der Zeigereinheit 105 anklicken kann. Dadurch wird der Inhalt des Textfeldes „Standardwert" 408 durch den Inhalt der OAC ersetzt, der Inhalt des Textfeldes „Deltawert" 410 gelöscht und das Kombinationsfeld „Optionswirkung" 411 auf den Wert „KEINE" initialisiert. Wenn dies erledigt ist, hängt die OAC weiterhin von den benutzerdefinierten Aktionen ab, die der Benutzer in der oben beschriebenen Weise bereits definiert hat, jedoch kann der Benutzer jetzt
    • • im Kombinationsfeld „Zugewiesene Option" 412,
    • • im Kombinationsfeld „Optionswirkung" 411 und
    • • im Textfeld „Deltawert" 410 eine neue Option, eine neue Wirkung bzw. einen neuen Deltawert angeben und unter Verwendung des Kontrollkästchens „Absolute Adresse" 413 den absoluten Bezug dieser neuen Option festlegen.
  • Schließen/Abbrechen
  • Wenn der Benutzer die Aufgabe erledigt hat, wie eine oder mehrere benutzerdefinierte Optionen auf die OAC angewendet werden sollen, kann er entweder das Dialogfeld 400 der Objektanwendung schließen oder mit einer anderen OAC weiter arbeiten.
    • • Wenn der Benutzer das Dialogfeld 400 der Objektanwendung schließen möchte, kann er unter Verwendung herkömmlicher mittel wie beispielsweise der Zeigereinheit 105 die Schaltfläche „Fertig" 403 oder die Schaltfläche „Abbrechen" 405 anklicken. Dadurch wird das Dialogfeld 400 der Objektanwendung auf der Anzeigeeinheit 106 geschlossen.
    • • Wenn der Benutzer mit einer anderen OAC weiter arbeiten möchte, muss er zuerst die aktuelle OAC schließen. Zu diesem Zweck enthält das Dialogfeld 400 der Objektanwendung eine Schaltfläche „Auswahl ändern" 402, die er mit der Zeigereinheit 105 anklicken kann. Anschließend kann der Benutzer unter Verwendung derselben Zeigereinheit 105 eine Zelle im Tabellenkalkulationsblatt auswählen, die als neue OAC dient.
  • Aktuelle Auswahl
  • Um jederzeit sichtbar zu machen, welche OAC gerade bearbeitet wird, enthält das Dialogfeld 400 der Objektanwendung ein Textfeld „Aktuelle Auswahl" 401, das die Adresse der aktuellen OAC anzeigt. Jedes Mal, wenn unter Verwendung des oben beschriebenen Mittels eine neue OAC ausgewählt wird, wird das Textfeld „Aktuelle Auswahl" 401 aktualisiert, um die Adresse der neuen OAC anzuzeigen.
    • • 4. Im vierten Schritt entscheidet sich der Benutzer der Tabellenkalkulation anhand seiner hier nicht näher dargelegten Kriterien, ob ein bestimmter Bereich, der Zellen mit benutzerdefinierten Optionen umfasst, entweder kopiert oder ausgeschnitten und in einen anderen Zellenbereich eingefügt werden soll, in welchem diese benutzerdefinierten Optionen nicht unbedingt erkennbar sind.
  • Allgemeiner Prozess
    • • In erster Linie bedient sich der Benutzer der Tabellenkalkulation herkömmlicher Tabellenkalkulationsmittel zum Angeben des Quellzellenbereichs sowie der Art der gewünschten Operation. Das kann zum Beispiel durch Anklicken einer bestimmten Schaltfläche mit der Zeigereinheit 105 geschehen, nachdem der Quellenbereich ebenfalls mit der Zeigereinheit 105 angeklickt wurde. Dies kann auch mit Kurzbefehlen für die Tastatur 104 erfolgen.
    • • Dann muss der Benutzer der Tabellenkalkulation angeben, wo der Quellenbereich eingefügt werden soll; dies erfolgt auf herkömmliche Weise in der aktuell ausgewählten Zelle des Tabellenkalkulationsblattes, die der Benutzer mit herkömmlichen Mitteln wie beispielsweise der Zeigereinheit 105 oder der Tastatur 104 auswählen kann.
    • • Abschließend ruft der Benutzer unter Verwendung eines in der Umgebung der Tabellenkalkulation verfügbaren herkömmlichen Mittels einen speziellen Befehl „Option_Handler" (Optionsausführung) auf, zum Beispiel (aber nicht darauf beschränkt) mit speziellen Schaltflächen, Kurzbefehlen für die Tastatur oder Menü- oder Untermenüpunkten. Dadurch wird ein Dialogfeld 600 der Optionsausführung auf der Anzeigeeinheit 106 gemäß 6 angezeigt.
  • Dialogfeld der Optionsausführung
  • Das Dialogfeld 600 der Optionsausführung ermöglicht dem Benutzer der Tabellenkalkulation, die Kombinationen der benutzerdefinierten Optionen anzugeben, die er in den Zielbereich einfügen möchte. Zu diesem Zweck stehen im Dialogfeld 600 der Objektausführung mehrere Objekte zur Verfügung. Diese können gemäß dem folgenden typischen Szenario angewendet werden.
  • Benutzerdefinierte Optionen
  • Im Dialogfeld 600 der Optionsausführung kann der Benutzer bereits definierte Optionen in einem „Listenfeld" 601 sichtbar machen (zum Beispiel die Optionen mit der Bezeichnung „Jahresende", „Umsatz", „neuer Kunde" und „Rabatt" von 6). Um andere benutzerdefinierte Optionen sichtbar zu machen, die nicht bereits im Listenfeld 601 des Dialogfelds 600 der Optionsausführung angezeigt werden, kann der Benutzer zum Beispiel mit der Zeigereinheit 105 die Schiebeleiste 602 anklicken, um das Listenfeld 601 über sämtliche benutzerdefinierten Optionen hinweg nach oben oder unten zu verschieben.
  • Definieren von Kombinationen
  • Für jede im Listenfeld 601 angezeigte benutzerdefinierte Option zeigt ein Markierungsfeld, beispielsweise das Markierungsfeld 603, den aktuellen Status „WAHR" oder „FALSCH" dieser benutzerdefinierten Option an. Während der Benutzer der Tabellenkalkulation unter Verwendung der Schiebeleiste 602 die Gesamtheit der benutzerdefinierten Optionen durchsucht, werden die in den Markierungsfeldern, zum Beispiel im Markierungsfeld 602, angezeigten Werte automatisch aktualisiert. Wenn der Benutzer der Tabellenkalkulation einen dieser Werte ändern möchte, kann er mit der Zeigereinheit 105 die Schaltfläche 604 anklicken, damit der im Markierungsfeld 603 angezeigte Wert der benutzerdefinierten Option zwischen „WAHR" und „FALSCH” wechselt. Dieser Vorgang kann nacheinander für jede der benutzerdefinierten Optionen wiederholt werden.
  • Name der Kombination
  • Wenn der Benutzer der Tabellenkalkulation die Aktualisierung der Werte der verschiedenen benutzerdefinierten Optionen unter Verwendung des Listenfeldes 601, der Schiebeleiste 602, der Markierungsfelder, beispielsweise des Markierungsfeldes 603, und der Schaltflächen, beispielsweise der Schaltfläche 604, beendet hat, muss er der Kombination von benutzerdefinierten Optionen, die er gerade angegeben hat, einen Namen geben. Zu diesem Zweck kann der Benutzer der Tabellenkalkulation über die Tastatur 104 den Namen dieser ausgewählten benutzerdefinierten Option in das Fenster 605 eingeben. Wenn dieser Schritt ausgeführt ist, hat der Benutzer der Tabellenkalkulation eine Kombination von benutzerdefinierten Optionen erzeugt und dieser einen Namen gegeben.
  • Prüfen der Kombination
  • Zum Prüfen und Aufzeichnen dieser Kombination klickt der Benutzer der Tabellenkalkulation mit der Zeigereinheit 105 die Schaltfläche 611 an. Dann kann der Benutzer diese neu angegebene benutzerdefinierte Kombination als aufgezeichnete Kombination sichtbar machen, deren Name in einem Markierungsfeld, zum Beispiel im Markierungsfeld 607, angezeigt wird und die einem Satz benutzerdefinierter Optionseinstellungen gemäß den Markierungsfeldern, zum Beispiel gemäß dem Markierungsfeld 606, entspricht. Wenn einige der verfügbaren benutzerdefinierten Option nicht im Listenfeld 601 angezeigt werden (sodass auch die entsprechenden Einstellungen in den Markierungsfeldern, zum Beispiel im Markierungsfeld 606, nicht angezeigt werden), kann der Benutzer der Tabellenkalkulation mit der Zeigereinheit 105 die Schiebeleiste 602 anklicken, damit das Listenfeld 601 über die gesamten verfügbaren benutzerdefinierten Optionen hinweg nach oben oder nach unten verschoben wird und die zugehörigen Markierungsfelder, zum Beispiel das Markierungsfeld 606, die Einstellungen der entsprechenden Kombination der benutzerdefinierten Optionen anzeigen.
  • Mehrere Kombinationen
  • Wenn der Benutzer mehr als nur eine einzige benutzerdefinierte Kombination von Optionen aufzeichnen möchte, muss er die obigen Schritte wiederholen, d. h. unter Verwendung des Listenfeldes 601, der Schiebeleiste 602, der Markierungsfelder, zum Beispiel des Markierungsfeldes 603, und der Schaltflächen, zum Beispiel der Schaltfläche 604, die Optionseinstellungen aktualisieren, dann unter Verwendung des Fensters 605 einer neuen Kombination von benutzerdefinierten Optionen einen Namen geben und abschließend unter Verwendung der Schaltfläche 611 die neue Kombination benutzerdefinierter Optionen prüfen und aufzeichnen. Wenn der Benutzer der Tabellenkalkulation mehr Kombinationen angibt, als das Dialogfeld 600 der Objektausführung in den Markierungsfeldern, zum Beispiel in den Markierungsfeldern 606 und 607, anzeigen kann, kann der Benutzer der Tabellenkalkulation durch Anklicken der Schaltfläche „<<" 608 oder der Schaltfläche „>>" 609 mit der Zeigereinheit 105 die Gesamtheit der angegebenen Kombinationen durchsuchen. Dadurch wird die Gesamtheit der definierten Kombinationen der benutzerdefinierten Optionen horizontal verschoben (beim Anklicken der Schaltfläche „<<" 608 nach links und beim Anklicken der Schaltflache „>>" 609 nach rechts).
  • Prüfen des Namens einer Kombination
  • Jedes Mal, wenn der Benutzer der Tabellenkalkulation eine neue Kombination von benutzerdefinierten Optionen hinzufügt, prüft das System, ob der für die neue Kombination benutzte Name bereits vergeben worden ist. Wenn dies der Fall ist, wird der Benutzer der Tabellenkalkulation unter Verwendung herkömmlicher Mittel (zum Beispiel durch Anzeigen eines Dialogfensters auf der Anzeigeeinheit 106), sodass er den beanstandeten durch einen gültigen Namen ersetzen kann.
  • Abbruchoperation
  • Der Benutzer der Tabellenkalkulation kann während des obigen Szenarios zu jedem Zeitpunkt die laufende Operation abbrechen, indem er mit der Zeigereinheit 105 die Schaltfläche „Abbrechen" 612 anklickt. Dadurch wird das Dialogfeld 600 der Objektausführung geschlossen und der laufende Prozess der Ausführung benutzerdefinierter Optionen während der Kopieren/Einfügen-Operation oder der Ausschneiden/Einfügen-Operation abgebrochen.
  • Kopieren/Einfügen-Operation; Ausschneiden/Einfügen-Operation
  • Wenn der Benutzer der Tabellenkalkulation allen Kombinationen einen Namen gegeben hat, kann er alternativ mit der Zeigereinheit 105 die Schaltflache „Fertig" 610 anklicken, um das System die Kopieren/Einfügen-Operation oder Ausschneiden/Einfügen-Operation gemäß der vorliegenden Erfindung ausführen zu lassen. Wenn die Schaltfläche „Fertig" betätigt worden ist, führt der Befehl Option_Handler (Optionsausführung) die vom Benutzer ausgewählte Kopieren/Einfügen-Operation oder Ausschneiden/Einfügen-Operation aus, die in den verschiedenen Feldern des Dialogfeldes 600 der Optionsausführung angezeigt werden. Diese Operation besteht darin, dass für jede vom Benutzer ausgewählte Kombination benutzerdefinierter Optionen eine Version des Zielzellenbereichs erzeugt wird, die den Inhalt des Quellzellenbereichs aufnimmt. Das der Ausführung dieser Operation zugrunde liegende Verfahren wird im Folgenden beschrieben.
  • C. Option_Handler-Verfahren
  • 8 zeigt einen Überblick über das Verfahren zur Ausführung von benutzerdefinierten Optionen während einer Kopieren/Einfügen-Operation oder Ausschneiden/Einfügen-Operation:
    • • In Schritt 801 wartet das Verfahren auf einen Befehl Option_Handler.
    • • In Schritt 802 wird ein Befehl Option_Handler erkannt.
    • • In Schritt 803 gibt der Benutzer der Tabellenkalkulation die Parameter der Kopieren/Einfügen-Operation oder der Ausschneiden/Einfügen-Operation ein: – die Art der Operation (Kopieren/Einfügen-Operation oder Ausschneiden/Einfügen-Operation), – den Namen oder die Adresse des Quellzellenbereichs und des Zielzellenbereichs, – den Satz der Kombinationen benutzerdefinierter Optionen, die im Zielbereich aufgezeichnet werden müssen.
    • • In Schritt 804 wird die erste Kombination benutzerdefinierter Optionen auf den Quellbereich angewendet, der kopiert und in den Zielbereich eingefügt wird.
    • • In Schritt 805 wird für jede möglicherweise verbleibende Kombination benutzerdefinierter Optionen eine neue Version des Zielbereichs erzeugt und dann die aktuelle Kombination benutzerdefinierter Optionen im Zielbereich angewendet. Abschließend wird der Quellbereich kopiert und in den Zielbereich eingefügt.
    • • In Schritt 806 geht der Prozess weiter zu Schritt 807, wenn es sich um eine Ausschneideoperation handelt, und ansonsten zurück zu Schritt 801, um einen weiteren zu erwartenden Befehl Option_Handler zu verarbeiten.
    • • In Schritt 807 wird der Quellbereich ausgeschnitten, und der Prozess springt zurück zu Schritt 801, um einen weiteren zu erwartenden Befehl Option_Handler zu verarbeiten.
  • Das Verfahren zur Ausführung benutzerdefinierter Optionen während einer Kopieren/Einfügen-Operation oder Ausschneiden/Einfügen-Operation, welches die vorliegende Erfindung nutzt, wird im Ablaufplan 700 von 7 ausführlich dargelegt. Dieses Verfahren ist als Verarbeitung des Befehls Option_Handler anzusehen. Das Verfahren umfasst die folgenden Schritte:
    • • In Schritt 701 befindet sich das Verfahren im Ausgangszustand und wartet auf ein Ereignis zum Auslösen des Prozesses.
    • • In Schritt 702 wird ein Ereignis erkannt, das von einer Benutzerhandlung herrührt. Diese Handlung kann zum Beispiel in einer bestimmten Tastenkombination auf der Tastatur 104 oder dem Anklicken einer bestimmten Schaltfläche mit der Zeigereinheit 105 oder in einem beliebigen anderen ähnlichen Mittel bestehen, das hier nicht näher dargelegt wird.
    • • In Schritt 703 werden zuerst die Parameter der vom Benutzer der Tabellenkalkulation angegebenen Operation abgerufen und in Form interner Variablen gespeichert. Der Prozess des Abrufens der Benutzerauswahl kann auf der Anzeige 106 eines Dialogfeldes wie beispielsweise des oben beschriebenen Dialogfeldes 600 der Objektausführung oder aber auf einem anderen Mittel beruhen, ohne vom Geist der aktuellen Erfindung abzuweichen. Bei einer bevorzugten Ausführungsart der vorliegenden Erfindung besteht der Prozess der Speicherung der Optionsparameter im Initialisieren eines Satzes Variablen im Arbeitsspeicher 102 auf folgende Weise: – Die Variable „Oper" gibt an, ob es sich bei der gewünschten Operation um eine Kopieren/Einfügen-Operation oder eine Ausschneiden/Einfügen-Operation handelt. – Die Variable „SRange" gibt den Quellzellenbereich an. Dieser Quellbereich kann entweder aus einer einzelnen Zelle oder aus mehreren Zellen bestehen, und die Variable „SRange" besteht entweder aus der Adresse des Quellbereichs oder aus dessen Namen, falls der Quellbereich einen Namen trägt. – Die Variable „DAdd" bezeichnet die Adresse (oder den Namen, falls vorhanden) des Zielzellenbereichs. Bei diesem Zielbereich muss es sich um einen Bereich mit einer einzelnen Zelle handeln. – Die Variable „CombNbr" gibt die Anzahl der Kombinationen an, die der Benutzer in den Zielbereich einfügen möchte. – Die anderen Variablen sind Teil einer Tabelle mit der Bezeichnung „CombinationTable" 500, die gemäß 5 aufgebaut ist. Diese Tabelle besteht aus einem Satz von Datensätzen 501, die jeweils aus drei Feldern bestehen: – einem (mit „i" bezeichneten) Indexfeld 502 zur eindeutigen Kennzeichnung eines Datensatzes 501 in der Tabelle CombinationTable 500, – einem Kombinationsnamensfeld 503 (mit der Bezeichnung „CombName(i)") zum Aufzeichnen der i-ten Kombination in einem Datensatz 501. – einem Kombinationsfeld 504 (mit der Bezeichnung „Comb(i)") zum Aufzeichnen der Werte (entweder „WAHR" oder „FALSCH") der verschiedenen benutzerdefinierten Optionen, die Bestandteil der i-ten Kombination im Datensatz 501 sind. Wie der Wert jeder benutzerdefinierten Option im Feld „Comb(i)" 504 codiert wird, hängt von der jeweiligen Ausführungsform ab und wird hier nicht näher beschrieben.
    • • In Schritt 704 prüft das Verfahren, ob die in Schritt 703 zuerst vom Benutzer der Tabellenkalkulation abgerufenen und dann gespeicherten Parameter gültig sind. Die Gültigkeitskriterien werden hier nicht beschrieben und können entsprechend den Randbedingungen der jeweiligen Ausführungsform unterschiedliche Formen annehmen. Die Gültigkeitsprüfung stellt beispielsweise sicher, dass ein bestimmter Name einer Kombination, der in der Variablen CombName(i) 503 aufgezeichnet ist, nicht in mehreren Datensätzen 501 der Tabelle CombinationTable 500 auftaucht. Wenn das Ergebnis dieser Gültigkeitsprüfung positiv (die Benutzerauswahl gültig) ist, geht der Prozess weiter zu Schritt 708; ansonsten geht der Prozess weiter zu Schritt 705.
    • • In Schritt 705 wird auf der Anzeigeeinheit 106 eine Fehlermeldung angezeigt, um dem Benutzer der Tabellenkalkulation die fehlgeschlagene Gültigkeitsprüfung von Schritt 704 mitzuteilen.
    • • In Schritt 706 verbleibt das Verfahren im Wartezustand und wartet auf die Bestätigung der im vorhergehenden Schritt angezeigten Nachricht durch den Benutzer.
    • • In Schritt 707 erkennt das Verfahren die Bestätigung der in Schritt 705 angezeigten Nachricht durch den Benutzer; dann geht der Prozess zurück zu Schritt 703, damit der Benutzer der Tabellenkalkulation seine Auswahl korrigieren kann.
    • • In Schritt 708 erstellt das Verfahren den gesamten Zielbereich mit der Bezeichnung „DRange". Dieser Zellenbereich zeichnet sich (für den Fall eines dreidimensionalen Tabellenkalkulationsblattes) dadurch aus, dass der Satz der oberen, linken und im Vordergrund befindlichen Zelle der durch die Variable „DAdd" gekennzeichneten Zelle identisch ist und dass eine Anzahl von Zeilen, Spalten und Blättern der entsprechenden Anzahl des durch die Variable „SRange" definierten Zellenbereichs identisch ist. Dieser Zellenbereich „DRange" wird später so viele Versionen aufnehmen, wie Kombinationen benutzerdefinierter Optionen ausgewählt wurden.
    • • In Schritt 709 wird geprüft, ob der Zellenbereich „DRange" die Version mindestens einer Zelle enthält. Wenn dies der Fall ist, geht der Prozess weiter zu Schritt 710; ansonsten geht der Prozess weiter zu Schritt 712.
    • • In Schritt 710 wird ein neuer Bereich mit der Bezeichnung „VRange" erzeugt. Dieser Zellenbereich entspricht der Version des Bereichs, der die während der Prüfung in Schritt 709 ermittelte Version einer Zelle enthält. Eine solche Version eines Bereichs liegt bereits vor, sobald die Version einer Zelle gefunden worden ist. Außerdem wird eine lokale Variable mit der Bezeichnung „VFlag" gleich dem Wert „wahr" gesetzt. Diese Variable dient später zum Aufzeichnen der Tatsache, dass vom Zielbereich bereits eine Version erstellt wurde.
    • • In Schritt 711 wird geprüft, ob der Zellenbereich „VRange" dem Zellenbereich „DRange" identisch ist. Wenn dies der Fall ist, bedeutet dies, dass die während der Prüfung in Schritt 709 gefundene Version einer Zelle erstellt wurde, weil eine Version vom Zellenbereich „DRange" erstellt worden ist. In diesem Fall geht der Prozess weiter zu Schritt 713. Wenn ermittelt wird, dass die Zellenbereiche „VRange" und „DRange" nicht identisch sind, ist die während der Prüfung in Schritt 709 ermittelte Version einer Zelle erstellt worden, weil die Version eines von „DRange" verschiedenen Bereichs erstellt worden ist. Um eine Vermischung verschiedener Versionen sich teilweise überlappender Zellenbereiche zu vermeiden, behandelt das Verfahren dies als ungültigen Zustand. Deshalb geht der Prozess zurück zu Schritt 705, um dem Benutzer der Tabellenkalkulation diesen Zustand mitzuteilen.
    • • In Schritt 712 wird eine lokale Variable mit der Bezeichnung „VFlag" gleich dem Wert „falsch" gesetzt. Diese Variable dient später zum Speichern der Tatsache, dass vom Zielbereich noch keine Version erstellt wurde.
    • • In Schritt 713 wird eine lokale Variable mit der Bezeichnung „i" auf den Standardwert 1 initialisiert. Diese Variable dient in den folgenden Schritten als Index zum Zählen der verschiedenen Kombinationen benutzerdefinierter Optionen und zum Indexieren der Datensätze 501 in der Tabelle CombinationTable 500.
    • • In Schritt 714 wird die Tabelle CombinationTable 500 nach dem Datensatz 501 durchsucht, dessen Indexfeld 502 mit der Variablen „i" übereinstimmt. Die entsprechende im Feld „Comb(i)" 504 gefundene Kombination benutzerdefinierter Optionen wird dann im Tabellenkalkulationsblatt angewendet (jede benutzerdefinierte Option wird entsprechend dem Wert im Feld „Comb(i)" 504 aktualisiert), und der Quellzellenbereich „SRange" wird neu berechnet, sodass jede darin enthaltene Zelle einen Wert ergibt, der der aktuellen Kombination benutzerdefinierter Optionen entspricht.
    • • In Schritt 715 wird geprüft, ob die aktuelle in der Variablen „Oper" aufgezeichnete Operation einer Ausschneiden/Einfügen-Operation entspricht und ob der Wert der Variablen „i" gleich dem Wert der Variablen „CombNbr" ist. Wenn dies der Fall ist (was bedeutet, dass die letzte Kombination einer Ausschneiden/Einfügen-Operation gerade bearbeitet wird), geht der Prozess weiter zu Schritt 717; ansonsten geht der Prozess weiter zu Schritt 716.
    • • In Schritt 716 wird der Zellenbereich „SRange" in die Zwischenablage kopiert. Dann geht der Prozess weiter zu Schritt 718.
    • • In Schritt 717 wird der Zellenbereich „SRange" unter Verwendung in elektronischen Tabellenkalkulationsblättern verfügbarer herkömmlicher Mittel ausgeschnitten und in der Zwischenablage gespeichert. Dann geht der Prozess weiter zu Schritt 718.
    • • In Schritt 718 wird geprüft, ob die lokale Variable „VFlag" gleich einem Wert „Falsch" ist. Wenn dies der Fall ist, geht der Prozess weiter zu Schritt 719; ansonsten geht der Prozess weiter zu Schritt 722.
    • • In Schritt 719 wird geprüft, ob die Anzahl der in der Variablen „CombNbr" aufgezeichneten Kombinationen benutzerdefinierter Optionen gleich 1 ist. Wenn dies der Fall ist, geht der Prozess weiter zu Schritt 720; ansonsten geht der Prozess weiter zu Schritt 721.
    • • In Schritt 720 wird der Inhalt der Zwischenablage unter Verwendung in elektronischen Tabellenkalkulationsblättern verfügbarer herkömmlicher Mittel in den Zielzellenbereich „DRange" eingefügt. Hier wird der Fall betrachtet, dass der Benutzer der Tabellenkalkulation eine einzige Kombination benutzerdefinierter Optionen ausgewählt hat und vom Zielbereich zuvor noch keine Version erstellt wurde; in diesem Fall brauchen keine verschiedenen Versionen des Zielbereichs erstellt zu werden. Dann geht der Prozess zurück zum Anfangsschritt 701, um einen weiteren zu erwartenden Befehl Option_Handler zu bearbeiten.
    • • In Schritt 721 wird der Inhalt der Zwischenablage unter Verwendung in elektronischen Tabellenkalkulationsblättern verfügbarer herkömmlicher Mittel in den Zielzellenbereich „DRange" eingefügt. Dann wird die lokale Variable „BaseName" mit ihrem Wert initialisiert, der auf den Wert des Feldes „CombName(1)" 503 im ersten Datensatz 501 in der Tabelle CombinationTable 500 gesetzt ist. Da es vom Zielzellenbereich „DRange" noch keine Version gibt, kann der aktuellen Kombination noch kein Versionsname verliehen werden. Dies erfolgt später, wenn eine Version des Zellenbereichs „DRange" erstellt wird, unter Verwendung des in der lokalen Variablen „BaseName" gespeicherten Namens. Dann wird die lokale Variable „VFlag" auf den Wert „Wahr" gesetzt, um anzuzeigen, dass eine Version des Zellenbereichs „DRange" erstellt wird.
    • • In Schritt 722 wird eine neue Version des Zellenbereichs „DRange" erzeugt. Der Name für diese Version entspricht dem Feld „CombName(i)" 503 für den Kombinationsnamen im aktuellen Datensatz 501 in der Tabelle CombinationTable 500. Diese neue Version wird zur aktuellen Version des Zellenbereichs „DRange", in den unter Verwendung in elektronischen Tabellenkalkulationsprogrammen verfügbarer herkömmlicher Mittel der Inhalt der Zwischenablage eingefügt wird. Wenn für den Zielzellenbereich „DRange" erstmalig eine Version erzeugt wird, weist ein herkömmliches Tabellenkalkulationsprogramm dieser Version einen Standardnamen zu (z. B. Base), der dem Inhalt des Bereichs vor der Versionserstellung entspricht.
    • • In Schritt 723 wird geprüft, ob die lokale Variable „BaseName" ungültig (leer) ist oder einen Namen enthält (der möglicherweise in Schritt 721 initialisiert wurde). Wenn sich die lokale Variable als leer erweist, geht der Prozess weiter zu Schritt 725, ansonsten geht der Prozess weiter zu Schritt 724.
    • • In Schritt 724 wird der Standardname der Version, die den im Zielzellenbereich „DRange" initialisierten Originalwerten entspricht, durch den in Schritt 721 in der lokalen Variablen „BaseName" gespeicherten Namen ersetzt. Dann wird diese lokale Variable „BaseName" auf ungültig zurückgesetzt, damit die Originalversion des Zielzellenbereichs „DRange" nicht noch einmal umbenannt werden kann.
    • • In Schritt 725 wird geprüft, ob die lokale Variable „i" gleich der Variablen „CombNbr" ist. Wenn dies der Fall ist (was bedeutet, dass alle Kombinationen bearbeitet worden sind), springt der Prozess zurück zum Anfangsschritt 701, um einen weiteren zu erwartenden Befehl Option_Handler auszuführen. Wenn dies nicht der Fall ist, geht der Prozess weiter zu Schritt 726.
    • • In Schritt 726 wird die lokale Variable „i" um 1 erhöht, um anzuzeigen, dass die nächste Kombination benutzerdefinierter Optionen durch die Schritte des Verfahrens ab Schritt 714 bearbeitet wird.
  • WEITERE AUSFÜHRUNGSARTEN
  • Obwohl die Erfindung insbesondere unter Bezug auf eine bevorzugte Ausführungsart gezeigt und beschrieben wurde, ist klar, dass daran verschiedene Änderungen an Form und Detail vorgenommen werden können, ohne von Geist und Geltungsbereich der Erfindung abzuweichen.
  • Das Verfahren und System Option_Handler gemäß der vorliegenden Erfindung können vorteilhaft in solchen Umgebungen angewendet werden, bei denen Datenelemente in Form mehrdimensionaler Tabellen organisiert werden, die mehr als drei Dimensionen aufweisen.
  • Das Verfahren und System Option_Handler gemäß der vorliegenden Erfindung können vorteilhaft in solchen Fällen angewendet werden, bei denen Quellzellenbereiche entweder kopiert oder ausgeschnitten und während einer einzigen Operation in mehrere Zielzellenbereiche eingefügt werden.

Claims (8)

  1. Verfahren zum Verarbeiten benutzerdefinierter Optionen während einer Kopieren/Einfügen-Operation oder einer Ausschneiden/Einfügen-Operation innerhalb eines mehrdimensionalen Tabellenkalkulationsblatts (200), das eine Vielzahl in jeder Dimension durch eine Zellenadresse gekennzeichneter Zellen umfasst, wobei das Verfahren die folgenden Schritte umfasst. • Definieren einer oder einer Vielzahl von Kombinationen, wobei jede Kombination eine oder eine Vielzahl von Optionen umfasst; wobei jede Option als Boole'sche Variable definiert ist und in einer oder einer Vielzahl von Zellen auf die eine oder die Vielzahl von Boole'schen Variablen Bezug genommen wird; • Definieren eines Bereichs von Quellzellen und eines Bereichs von Zielzellen; • Definieren einer auszuführenden Operation, bei der es sich entweder um Kopieren/Einfügen oder um Ausschneiden/Einfügen handelt; Berechnen des Inhalts jeder Zelle innerhalb des Bereichs der Quellzellen gemäß einer oder einer Vielzahl von Optionen für jede definierte Kombination von Optionen, die eine oder eine Vielzahl von Optionen umfasst, wenn mindestens eine Zelle im Bereich der Quellzellen einen Verweis auf die eine oder eine Vielzahl von Optionen umfasst; • Erzeugen eines Versionsexemplars des Bereichs der Zielzellen; • Kopieren des Bereichs der Quellzellen in das Versionsexemplar; Wenn die letzte Kombination von Optionen kopiert wird, • Löschen des Bereichs der Quellzellen, wenn es sich um eine Ausschneiden/Einfügen-Operation handelt.
  2. Verfahren nach dem vorhergehenden Anspruch, wobei das Verfahren ferner die folgenden Schritte umfasst: • Zuweisen eines Namens für jede definierte Kombination von Optionen; • Bezeichnen des Versionsexemplars mit dem definierten Namen der Kombination.
  3. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Berechnens des Inhalts jeder Zelle innerhalb des Bereichs der Quellzellen gemäß einer oder einer Vielzahl von Optionen die folgenden Schritte umfasst: • Aktivieren der einen oder der Vielzahl von Boole'schen Variablen, die der aktuellen Kombination von Optionen entsprechen; • Ermitteln des Inhalts jeder Zelle im Bereich der Quellzellen in Abhängigkeit davon, ob die eine oder die Vielzahl von Boole'schen Variablen aktiviert ist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren den folgenden Schritt umfasst: • Setzen des Wertes der Boole'schen Variablen auf eins, wenn die Boole'sche Variable aktiviert ist, oder • Setzen des Wertes der Boole'schen Variablen auf null, wenn die Boole'sche Variable nicht aktiviert ist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Schritte des Definierens einer Kombination, des Zuweisens eines Namens, des Definierens eines Bereichs von Quellzellen und eines Bereichs von Zielzellen und des Definierens einer Operation unter Verwendung einer interaktiven Benutzeroberfläche ausgeführt werden.
  6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die interaktive Benutzeroberfläche ein Dialogfeld umfasst, das auf einem Bildschirm (106) eines Computersystems (100) angezeigt wird.
  7. System (100), das Mittel zum Durchführen des Verfahrens nach einem der vorhergehenden Ansprüche umfasst.
  8. Computerprogramm, das computerlesbare Anweisungen zum Durchführen des Verfahrens nach den Ansprüchen 1 bis 6 umfasst.
DE60133343T 2000-07-13 2001-05-10 Verfahren und System in einem elektronischen Kalkulationsblatt für die Handhabung von benutzerdefinierten Optionen in einer Ausschneiden-Kopieren-Einfügen-Funktion Expired - Lifetime DE60133343T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00480057 2000-07-13
EP00480057 2000-07-13

Publications (2)

Publication Number Publication Date
DE60133343D1 DE60133343D1 (de) 2008-05-08
DE60133343T2 true DE60133343T2 (de) 2009-04-23

Family

ID=8174243

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60133343T Expired - Lifetime DE60133343T2 (de) 2000-07-13 2001-05-10 Verfahren und System in einem elektronischen Kalkulationsblatt für die Handhabung von benutzerdefinierten Optionen in einer Ausschneiden-Kopieren-Einfügen-Funktion

Country Status (2)

Country Link
US (1) US7178098B2 (de)
DE (1) DE60133343T2 (de)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1202206A3 (de) 2000-10-24 2004-01-21 International Business Machines Corporation Verfahren und System in einem elektronischen Kalkulationsblatt zur bleibenden Selbst-Reproduktion mehrerer Zellbereiche durch eine Kopieren-Einfügen-Funktion
US6912690B2 (en) * 2000-10-24 2005-06-28 International Business Machines Corporation Method and system in an electronic spreadsheet for persistently copy-pasting a source range of cells onto one or more destination ranges of cells
US6968504B2 (en) * 2001-06-29 2005-11-22 Microsoft Corporation Automated document formatting tool
US6826729B1 (en) * 2001-06-29 2004-11-30 Microsoft Corporation Gallery user interface controls
US8832543B2 (en) * 2001-06-29 2014-09-09 Microsoft Corporation Automated document formatting tool
US7467350B2 (en) * 2002-03-28 2008-12-16 International Business Machines Corporation Method in an electronic spreadsheet for copying and pasting displayed elements of a range of cells
US7275207B2 (en) * 2002-03-28 2007-09-25 International Business Machines Corporation System and method in an electronic spreadsheet for displaying and/or hiding range of cells
US20040268226A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation, Armonk, New York Facilitating the development of computer programs
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US7392249B1 (en) 2003-07-01 2008-06-24 Microsoft Corporation Methods, systems, and computer-readable mediums for providing persisting and continuously updating search folders
US7707255B2 (en) * 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US20050005249A1 (en) * 2003-07-01 2005-01-06 Microsoft Corporation Combined content selection and display user interface
US7716593B2 (en) 2003-07-01 2010-05-11 Microsoft Corporation Conversation grouping of electronic mail records
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
JP2005031979A (ja) * 2003-07-11 2005-02-03 National Institute Of Advanced Industrial & Technology 情報処理方法、情報処理プログラム、情報処理装置およびリモートコントローラ
US7725712B2 (en) * 2003-10-14 2010-05-25 Syferlock Technology Corporation User authentication system and method
US10437964B2 (en) 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
US7555707B1 (en) 2004-03-12 2009-06-30 Microsoft Corporation Method and system for data binding in a block structured user interface scripting language
US20050210401A1 (en) * 2004-03-18 2005-09-22 Nokia Corporation Method and system for centralized copy/paste functionality
US7788606B2 (en) * 2004-06-14 2010-08-31 Sas Institute Inc. Computer-implemented system and method for defining graphics primitives
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US8117542B2 (en) * 2004-08-16 2012-02-14 Microsoft Corporation User interface for displaying selectable software functionality controls that are contextually relevant to a selected object
US8146016B2 (en) * 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US7747966B2 (en) * 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US8745483B2 (en) * 2004-10-07 2014-06-03 International Business Machines Corporation Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet
US8219807B1 (en) 2004-12-17 2012-07-10 Novell, Inc. Fine grained access control for linux services
US8271785B1 (en) 2004-12-20 2012-09-18 Novell, Inc. Synthesized root privileges
US8214398B1 (en) 2005-02-16 2012-07-03 Emc Corporation Role based access controls
US8442996B2 (en) 2005-04-12 2013-05-14 Enrico Maim Methods for granting access to resources modifiable by users in a computer environment, and resources structured therefore
US8074214B2 (en) 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
US8352935B2 (en) * 2005-05-19 2013-01-08 Novell, Inc. System for creating a customized software distribution based on user requirements
US7886290B2 (en) * 2005-06-16 2011-02-08 Microsoft Corporation Cross version and cross product user interface
US8239882B2 (en) * 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8689137B2 (en) * 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US9542667B2 (en) * 2005-09-09 2017-01-10 Microsoft Technology Licensing, Llc Navigating messages within a thread
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US7739259B2 (en) 2005-09-12 2010-06-15 Microsoft Corporation Integrated search and find user interface
US8676973B2 (en) * 2006-03-07 2014-03-18 Novell Intellectual Property Holdings, Inc. Light-weight multi-user browser
JP4893108B2 (ja) * 2006-05-31 2012-03-07 富士ゼロックス株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8370423B2 (en) * 2006-06-16 2013-02-05 Microsoft Corporation Data synchronization and sharing relationships
US8656461B2 (en) 2006-07-28 2014-02-18 Microsoft Corporation Copy-paste trust system
US7730480B2 (en) * 2006-08-22 2010-06-01 Novell, Inc. System and method for creating a pattern installation by cloning software installed another computer
US20080109464A1 (en) * 2006-11-06 2008-05-08 Microsoft Corporation Extending Clipboard Augmentation
US8020112B2 (en) * 2006-11-06 2011-09-13 Microsoft Corporation Clipboard augmentation
US8453066B2 (en) * 2006-11-06 2013-05-28 Microsoft Corporation Clipboard augmentation with references
US8751442B2 (en) * 2007-02-12 2014-06-10 Microsoft Corporation Synchronization associated duplicate data resolution
US7933296B2 (en) * 2007-03-02 2011-04-26 Microsoft Corporation Services for data sharing and synchronization
US8201103B2 (en) * 2007-06-29 2012-06-12 Microsoft Corporation Accessing an out-space user interface for a document editor program
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US10133719B2 (en) * 2007-09-28 2018-11-20 Microsoft Technology Licensing, Llc Spreadsheet workbook part libraries
US9588781B2 (en) * 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US8296671B2 (en) 2008-05-01 2012-10-23 Microsoft Corporation Enabling access to rich data by intercepting paste operations
US9665850B2 (en) * 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8402096B2 (en) * 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
US9229922B2 (en) * 2008-09-30 2016-01-05 Apple Inc. Token representation of references and function arguments
US8799353B2 (en) * 2009-03-30 2014-08-05 Josef Larsson Scope-based extensibility for control surfaces
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US8302014B2 (en) 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations
US8959859B2 (en) 2012-09-17 2015-02-24 Steelcase Inc. Floor-to-ceiling partition wall assembly
USD751591S1 (en) * 2013-01-15 2016-03-15 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
US9552348B2 (en) * 2014-06-27 2017-01-24 Koustubh MOHARIR System and method for operating a computer application with spreadsheet functionality
US10031904B2 (en) * 2014-06-30 2018-07-24 International Business Machines Corporation Database management system based on a spreadsheet concept deployed in an object grid
US10387558B2 (en) * 2016-02-23 2019-08-20 International Business Machines Corporation Provision of a separate input interface for user interaction with a spreadsheet
US10372810B2 (en) * 2017-04-05 2019-08-06 Microsoft Technology Licensing, Llc Smarter copy/paste
US10437428B2 (en) 2017-05-23 2019-10-08 Microsoft Technology Licensing, Llc Scatter copy supporting partial paste functionality

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1307853C (en) 1987-10-15 1992-09-22 Anthony M. Peters Visually assisted method for transfer of data
US5175810A (en) * 1989-06-19 1992-12-29 Digital Equipment Corporation Tabular data format
US5231577A (en) * 1990-04-06 1993-07-27 Microsoft Corporation Method and system for processing formatting information in a spreadsheet
GB9009930D0 (en) 1990-05-02 1990-06-27 Int Computers Ltd Electronic spreadsheet
US5359729A (en) * 1991-05-31 1994-10-25 Timeline, Inc. Method for searching for a given point in regions defined by attribute ranges, then sorted by lower and upper range values and dimension
US5623282A (en) 1991-12-31 1997-04-22 Microsoft Corporation Method and system for the direct manipulation of cells in an electronic spreadsheet program or the like
US5701499A (en) 1992-03-25 1997-12-23 Microsoft Corporation Method and system for automatically entering a data series into contiguous cells of an electronic spreadsheet program or the like
US5416895A (en) * 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US5371675A (en) * 1992-06-03 1994-12-06 Lotus Development Corporation Spreadsheet program which implements alternative range references
JP3496226B2 (ja) 1992-12-22 2004-02-09 ブラザー工業株式会社 文書処理装置
US5613131A (en) * 1993-01-29 1997-03-18 Microsoft Corporation Auto-formatting of tables in a spreadsheet program
US5303146A (en) * 1993-03-11 1994-04-12 Borland International, Inc. System and methods for improved scenario management in an electronic spreadsheet
JPH0737008A (ja) 1993-06-29 1995-02-07 Hitachi Ltd 表計算処理装置の表示制御方法
US5713020A (en) 1993-09-02 1998-01-27 Microsoft Corporation Method and system for generating database queries containing multiple levels of aggregation
US5604854A (en) * 1994-04-22 1997-02-18 Borland International, Inc. System and methods for reformatting multi-dimensional spreadsheet information
US5806078A (en) * 1994-06-09 1998-09-08 Softool Corporation Version management system
US5603021A (en) 1994-09-02 1997-02-11 Borland International, Inc. Methods for composing formulas in an electronic spreadsheet system
JPH0887495A (ja) 1994-09-16 1996-04-02 Ibm Japan Ltd 表データのカット・アンド・ペースト方法及びデータ処理システム
US5598519A (en) * 1994-11-08 1997-01-28 Microsoft Corporation Method and system for direct cell formatting in a spreadsheet
US5729730A (en) * 1995-03-28 1998-03-17 Dex Information Systems, Inc. Method and apparatus for improved information storage and retrieval system
US5848393A (en) * 1995-12-15 1998-12-08 Ncr Corporation "What if . . . " function for simulating operations within a task workflow management system
EP0786724A1 (de) 1996-01-29 1997-07-30 Sun Microsystems, Inc. Verfahren und Anordnung zum Datenaustausch zwischen Rechnerumgebungen
US6055548A (en) 1996-06-03 2000-04-25 Microsoft Corporation Computerized spreadsheet with auto-calculator
US5819293A (en) 1996-06-06 1998-10-06 Microsoft Corporation Automatic Spreadsheet forms
US5983268A (en) * 1997-01-14 1999-11-09 Netmind Technologies, Inc. Spreadsheet user-interface for an internet-document change-detection tool
US5987481A (en) * 1997-07-01 1999-11-16 Microsoft Corporation Method and apparatus for using label references in spreadsheet formulas
JP3058129B2 (ja) 1997-07-04 2000-07-04 日本電気株式会社 データ計算装置及びプログラムを記録した機械読み取り可能な記録媒体
US6057837A (en) * 1997-07-15 2000-05-02 Microsoft Corporation On-screen indentification and manipulation of sources that an object depends upon
US6442575B2 (en) * 1998-06-17 2002-08-27 Microsoft Corporation Method and system for merging cells in a table and for adding an integrated header and a nested table to a table in an electronic document
US20020091728A1 (en) 1998-08-05 2002-07-11 Henrik Kjaer Multidimensional electronic spreadsheet system and method
US6496832B2 (en) * 1998-10-20 2002-12-17 University Of Minnesota Visualization spreadsheet
US6640234B1 (en) * 1998-12-31 2003-10-28 Microsoft Corporation Extension of formulas and formatting in an electronic spreadsheet
US6948154B1 (en) * 1999-03-22 2005-09-20 Oregon State University Methodology for testing spreadsheets
US6701485B1 (en) 1999-06-15 2004-03-02 Microsoft Corporation Binding spreadsheet cells to objects
WO2002003190A1 (en) * 2000-06-30 2002-01-10 Information Bionics, Inc. System for linking data cells through permutation

Also Published As

Publication number Publication date
US7178098B2 (en) 2007-02-13
US20020007380A1 (en) 2002-01-17
DE60133343D1 (de) 2008-05-08

Similar Documents

Publication Publication Date Title
DE60133343T2 (de) Verfahren und System in einem elektronischen Kalkulationsblatt für die Handhabung von benutzerdefinierten Optionen in einer Ausschneiden-Kopieren-Einfügen-Funktion
DE60008498T2 (de) Verfahren und System zum Addieren und Löschen von Elementen in einem Bereich von mit Namen versehenen Zellen entsprechend verschiedener Methoden in einem elektronischen Kalkulationsblatt
DE69331025T2 (de) System und Verfahren für Rechnerschnittstellen
DE69425684T2 (de) System und Verfahren zur Verwaltung elektronischer Modellierungssysteme
DE69601151T2 (de) Interaktives sytem zum generieren von berichten und verfahren zu seinem betrieb
DE60319229T2 (de) Verfahren und system zur erweiterung der api eines dateisystems
DE69600794T2 (de) Graphische entwicklungs- und verwaltungsumgebung für anwendungsprogramme
US7895511B2 (en) Copy and paste of cells in a multi-dimensional spreadsheet
DE69318571T2 (de) Verfahren und system für die in-ort-wechselwirkung mit eingebetteten objekten
DE60203525T2 (de) Vorrichtung und verfahren in einer büroapplikation zur bereitstellung von inhaltsabhängiger hilfeinformation
DE3586790T2 (de) In linie-dynamischer editor fuer gemischte objectdokumente.
DE69515296T2 (de) Font-manager mit selektivem zugriff auf installierte fonts
DE4301766C2 (de) Verfahren zum Darstellen eines doppelseitigen, umwendbaren elektronischen Papiers
DE69324966T2 (de) Verwendung einer eingebetteten interpretativen Programmiersprache zum Realisieren eines interaktiven Werkzeugs für die Definition einer Benutzerschnittstelle
DE69127672T2 (de) Zielorientiertes elektronisches Formblattsystem
DE602004003139T2 (de) System und verfahren für eine datentabelle zur verwaltung von einfügeoperationen in rekursiven skalierbaren vorlageninstanzen
DE29623701U1 (de) Grafik Browser
DE69400870T2 (de) Dynamisches verknüpfungssystem
DE10135445A1 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
EP2425331A1 (de) Verfahren zur erzeugung mindestens einer anwendungsbeschreibung
DE19706512A1 (de) Echtzeit-Ereignisanordnung in einem elektronischen Ablaufdiagramm
DE69623660T2 (de) Software zum entwerfen von notiz-zetteln
DE60019996T2 (de) System zum Koordinieren von Dokumenten und Aufgaben für einen Rechner
DE68929341T2 (de) Verfahren zum Ausführen einer nicht für das Rechnersystem konzipierten Anwendung auf einem Rechnersystem
DE69622338T2 (de) Verfahren und system zum einbetten von teilen eines dokuments und zum synchronisieren einer vielzahl der ansichten dieser teile

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition