Knopf soll Befehl und Formel auslösen - wie?

Hat jemand einen Tipp: ich habe einen Knopf und dieser soll zwei Dinge auslösen:
1. einen Befehl (ein AppleSkript) und
2. eine Formel (mit Index ist Resultat)
Kann jemand helfen?

Re: Knopf soll Befehl und Formel auslösen - wie?

#11997 On 29 Dezember, 2015 06:23 Thomas Kaegi said,

Hallo Thomas

Befehl auslösen und eine Formel ausführen lässt sich nicht in einem Knopf kombinieren. Aber möglicherweise lässt sich ja die Formel in dein AppleScript einbauen.

Eine Frage drängt sich aber doch auf: Du möchtest mit dem Knopf die Ausführung eines Scripts auslösen – das ist eine typische Knopffunktion für Knöpfe vom Typ "Knopf" oder "Unsichtbarer Knopf" – aber dann schreibst du, dass die Formel "Index als Resultat" liefern soll - das ist etwas, das nur Knöpfe vom Typ "Radioknöpfe" und "Einblendmenü" können, die eine Wahlmöglichkeit, jedoch keine "Auslösefunktion" bieten. Das passt also gar nicht zusammen! Was soll denn deine Formel machen?

Gruss, Thomas

Re: Knopf soll Befehl und Formel auslösen - wie?

#11998 On 29 Dezember, 2015 07:15 Thomas Schnell said,

Hallo Thomas,

es handelt sich erstmal um einen unsichtbaren Knopf. Dieser liegt über dem Fusstext einer Rechnung und hat bisher als Schalter gedient zwischen "Bitte überweisen Sie...IBAN...Zahlungsziel.." und "Diese Rechnung wurde vollständig bezahlt". Bei Allgemein > Knöpfe ist Formel angeklickt: "Wenn...=1; Setze Zelle...;Setze Zelle..." (das übliche einer Wenn-Formel)mit Index ist Resultat.

Du ahnst es schon: jetzt soll dieser Schalter auch noch das AppleSkript auslösen und den Stempel mit den wechselnden Positionen drüberdrucken (was übrigens hervorragend funktioniert). (Für alle anderen: das Skript stempelt innerhalb definierter Grenzen zufällig mal etwas weiter links und mal weiter rechts sowie etwas höher/tiefer und leicht links/rechts gedreht)

Eine Hürde werde ich noch zusätzlich zu nehmen haben:
Es sind in der Regel fünf Rechnungen auf den Seiten 7, 8, 9,10 und 11 des Dokuments.
Ich werde wohl fünf Skripte benötigen - für jede Seite eines.
Seite 9 wird recht oft vorausbezahlt (und dann gestempelt).
Ab und zu muss ich aber die Seiten 8 und 10 vorher löschen.
Also muss ich, damit nicht die falsche Seite gestempelt wird, noch irgendwie in die Formel die Seite einbauen damit auch die richtige Rechnung als bezahlt markiert und gestempelt wird.

herzliche Grüsse Thomas

Re: Knopf soll Befehl und Formel auslösen - wie?

#12000 On 29 Dezember, 2015 20:55 Thomas Kaegi said,

Hallo Thomas

Es handelt sich erstmal um einen unsichtbaren Knopf. Dieser liegt über dem Fusstext einer Rechnung und hat bisher als Schalter gedient zwischen "Bitte überweisen Sie...IBAN...Zahlungsziel.." und "Diese Rechnung wurde vollständig bezahlt". Bei Allgemein > Knöpfe ist Formel angeklickt: "Wenn...=1; Setze Zelle...;Setze Zelle..." (das übliche einer Wenn-Formel)mit Index ist Resultat.

Dazu mal diese Bemerkung: Bei Knöpfen vom Typ "Knopf" oder "Unsichtbarer Knopf" ist die Option "Index ist Resultat" oder "Titel ist Resultat" völlig bedeutungslos.

jetzt soll dieser Schalter auch noch das AppleSkript auslösen und den Stempel mit den wechselnden Positionen drüberdrucken"

Hier fällt mir auf, dass du nicht sagst "… soll dieser Knopf …". So wie du den unsichtbaren Knopf beschreibst ist es ja ein Schalter und du schaltest(!) mit diesem zwischen sofortiger Bezahlung und Rechnung. Wenn du gleichzeitig damit das Stempelscript aufrufst, ist die Schalterfunktion mit dem Stempeln verknüpft. Das geht logisch nicht. Du brauchst dazu 2 Knöpfe, einen für den "Bezahlt-Text" + Stempel und den anderen für Rechnungstext + Stempel.

Dann kommt noch die Geschichte mit den Seiten. Ich schlage dir folgende Lösung für das ganze Problem vor:

  1. Gib allen Seiten in deinem Dokument einen Namen. Dazu doppelklickst du den Seitenreiter und gibst unter "Seiten/Seite" den gewünschten Namen ein. Der kann z.B. einfach "Seite 1" etc. lauten (Namen ohne die Anführungszeichen eingeben). Der Name wird dann im Seitenreiter angezeigt. Der Sinn dieser Massnahme ist, dass du Seite 8 löschen kannst und die folgende Seite den Namen "Seite 9" behält, obwohl es jetzt eigentlich Seite 8 ist.
  2. Definiere einen Knopf "Bezahlmodus", Typ Einblendmenü, Titel "Rechnung"/"Bezahlt", Index ist Resultat
  3. Definiere einen Knopf "Rechnungsseite", Typ Einblendmenü, Titel [alle Namen der Seiten, wo der Bezahlmodus eingesetzt und gestempelt werden kann], Titel ist Resultat
  4. In deinem Stempelscript fügst du oben eine Zeile hinzu, die den Wert des ersten Knopfes abfragt: set value of Bezahlmodus to value of button "Bezahlmodus" of document 1
  5. In deinem Stempelscript fügst du oben eine weitere Zeile hinzu, die den Wert des zweiten Knopfes abfragt: set value of Rechnungsseite to value of button "Rechnungsseite" of document 1
  6. Im Script fügst du (vor dem Stempeln) einen Befehl hinzu, der auf der Seite "Rechnungsseite" den Text einfügt, der dem Parameter "Bezahlmodus" entspricht.
  7. Im Stempelscript ersetzest du den Ort des Stempels "…at beginning of page 1…" durch "…at beginning of page Rechnungsseite…". Analog musst es natürlich im Befehl, mit dem der Stempel transparent gemacht wird "…page Rechnungsseite…" heissen.
  8. Jetzt fehlt nur noch der Knopf, mit dem du das Stempelscript aufrufst.

Offensichtlich wirst du jetzt zuerst mit den beiden Einblendmenüs den Bezahlmodus und die Seite wählen, bevor du auf den Knopf klickst, mit dem das Stempelscript aufgerufen wird.

Freundliche Grüsse
Thomas

Re: Knopf soll Befehl und Formel auslösen - wie?

#12003 On 4 Januar, 2016 16:02 Thomas Kaegi said,

Meine Lösung, in allgemeiner Form, steht jetzt auf den Expertenseiten:
http://experts.ragtime.de/experts/node/3754

Thomas

Re: Knopf soll Befehl und Formel auslösen - wie?

#12001 On 30 Dezember, 2015 09:01 Milchmeyer said,

Das Anzeigen der beiden zueinander alternativen Texte erfolgt doch in Abhängigkeit davon, ob eine Rechnung bereits bezahlt ist.
Das Stempeln erfolgt in der gleichen Abhängigkeit.
Nur, wenn eine Rechnung bereits bezahlt ist, wird ein anderer Text gezeigt und zusätzlich der Stempel eingeblendet.

Da müsste es doch möglich sein, mit nur einem Knopf zu arbeiten.
Dazu packst Du in den Text des Scripts zum Stempeln noch irgendwo ein "set cell "A1" of table "Rechenblatt 1" of document 1 to 1.0" mit rein.

In einem eigenen Rechenblatt (oder einer anderen Stelle eines Rechenblatts, die Du ganz sicher wiederfindest, also bei obiger Formel im "Rechenblatt 1" die Zelle A1) eine Zelle, z.B. A1 als "Zustandsdefinition" festlegen.
Im Originalzustand ist A1 leer.
z.B. in B1 steht "Wenn(A1="";"Bitte überweisen Sie...IBAN...Zahlungsziel..";"Diese Rechnung wurde vollständig bezahlt")"
In Deinem Originalrechnungstext steht dann nur eine Referenz zu B1
Im Layout hast Du irgendwo Deinen Knopf platziert. Dieser Knopf hat den Typ "Knopf", nicht "unsichtbarer Knopf", und liegt in einem, z.B. mit dem Rechteckwerkzeug erzeugten Container. Dieser Container ist auf nicht druckend gestellt.
Dadurch siehst Du den Knopf im Ausdruck nicht und auf dem Bildschirm nur, wenn unter "Zeigen" die "nichtdruckenden Elemente" angehakt sind.Diesem Knopf wird eine Formel im Infofenster unter Allgemein zugewiesen. (Also dort als Befehl, nicht als Formel im Feld "Knöpfe")
Drückst Du den Stempelknopf, wird Dein script mit dem Stempel als "Befehl" ausgeführt und dabei auch ein beliebiger Wert in A1 gesetzt, so dass dadurch die Anzeige umschaltet.

Mit freundlichem Gruß
Mathias Milchmeyer