-
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.