<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo alle,
Ich habe den Scripting Guide und den Scripting Index durchsucht, kann aber keine Möglichkeit finden, das zu tun, was ich tun möchte.
Hier ist die Aufgabe:
- Ich schreibe ein Skript, das nacheinander viele andere bereits vorhandene Skripte ausführt. Benötigte Aspekte jedes bereits vorhandenen Skriptberichts werden übernommen und in ein „Vollständiger Bericht“-Masterfenster kopiert.
- Aus Vertrauensgründen ist es mir nicht gestattet, bereits vorhandene Skripte zu ändern
- Wenn ich nur den vollständigen Bericht aus einem Skriptgroßhandel beziehen muss, ist dies sehr einfach und kann wie folgt erreicht werden:
[Masterfenster für vollständigen Bericht erstellen]
:: winOut = Neues Fenster ( "Kompletter Bericht_" || Ersatz ( Abkürzungsdatum ( Heute () ) , „/“ , „-“ ) ,
:: vListOut = V-Listenfeld ()
) ;
:: dtMain = Aktuelle Datentabelle () ;
:: dtMain << Deaktivieren Sie „Auswahl“. ;
[einfaches Beispiel für das Anhängen]
:: boxTemp = Gliederungsfeld ( „** Variabilitätsdiagramme für alle Wochen“ ) ;
:: boxTemp << Anhängen ( ( :: dtMain << Skript ausführen ( „VarChart“ )) << Bericht ) ;
:: vListOut << Anhängen ( :: boxTemp ) ;
Hier ist das Problem:
- Manchmal muss ich bestimmte Gliederungsfelder innerhalb eines Berichts über JSL schließen
- Schritt 1 ist einfach, wenn der Bericht über ein einzelnes „Hauptfeld“ verfügt, das alle zu schließenden Gliederungsfelder enthält. Dies ist jedoch nicht immer der Fall.
- Beispielsweise gibt es ein Skript, das ein passendes Modell erstellt. Für dieses Anpassungsmodell wird die Funktion „By:“ verwendet, die drei separate „Hauptfelder“ mit den Titeln „Response Log(Production) Condition = A“, „Response Log(Production) Condition = B“ und „Response“ erstellt Protokoll(Produktions)-Bedingung = C".
- Was ich also brauche, ist Code, um Folgendes zu tun:
- „Schließen Sie in diesem Bericht alle Gliederungsfelder mit der Überschrift ‚Wirkungszusammenfassung‘.“
- etwas Ähnliches wie (das funktioniert nicht): :: repCurrent [ Gliederungsfeld ( „Wirkungszusammenfassung“ )] << Schließen ( 1 ) ;
- „Überprüfen Sie für jedes Gliederungsfeld in diesem Bericht seinen Namen. Wenn der Name „Effektzusammenfassung“ enthält, schließen Sie ihn.
Und könnte jemand als zweites Problem bitte das folgende Verhalten erklären?
- Code wie :: boxTemp << Anhängen ( ( :: dtMain << Skript ausführen ( „VarChart“ )) << Bericht ) ; Funktioniert nicht immer, wenn der von einem Skript generierte Bericht mehr tut, als nur einen Bericht zu erstellen (d. h. einen Bericht erstellt, die Datentabelle ändert und den Bericht dann neu formatiert).
- In diesem Fall muss ich Folgendes verwenden:
:: dtMain << Skript ausführen ( „Verteilungen“ ) ;
:: repCurrent = Aktueller Bericht () ;
:: boxTemp << Anhängen ( :: repCurrent [ Gliederungsfeld ( „Verteilungen“ )] ) ;
Besonderer Hinweis „::boxTemp<
Weiß jemand, warum ich „Aktueller Bericht“ verwenden muss?
Bei meinem ersten Problem gibt es im Bericht mehrere Gliederungsfelder, die kopiert werden müssen, daher wird es nicht so einfach sein wie im obigen Beispiel. Gibt es überhaupt eine Möglichkeit, ein über „Aktueller Bericht()“ initialisiertes Speicherberichtsobjekt zu nehmen und die Funktion „Anhängen“ für dieses Berichtsobjekt zu verwenden, ohne ein Objekt angeben zu müssen (d. h. wie kann ich es anweisen, das GESAMTE Berichtsobjekt anzuhängen? der Inhalt und nicht der spezifische Inhalt eines in einem Bericht enthaltenen Gliederungsfelds).
Vielleicht finden Sie hier etwas, das Ihnen bei Ihrem (ersten) Problem hilft https://community.jmp.com/message/225609#225609 .