Hallo,
Gibt es eine Möglichkeit, eine vorhandene EXCEL-Datei (eine einzelne bestimmte Zeile) zu ändern und sie wieder im ursprünglichen Ordner von jmp zu speichern?
Jede Hilfe wäre willkommen.
Danke schön!
Wenn Sie das Windows-Betriebssystem verwenden und sich ein wenig mit VBscript auskennen, können Sie dies mit Run Program tun.
Das angehängte Skript verwendet wscript (soweit ich weiß immer auf Windows OS). Es öffnet Big Class und speichert es dann als Excel, um es zu emulieren, eine vorhandene Excel-Arbeitsmappe.
Das einfache VBscript ändert den Wert von Zeile E3 und färbt die Zelle gelb.Dieses Skript verwendet JSL, um das VB-Skript zu schreiben, das Skript könnte jedoch existieren und nur von JMP oder zahlreichen anderen Methoden ausgeführt werden.
JMP verwendet wscript, um das gespeicherte VBscript auszuführen.Dies ist eine Option, um eine Arbeitsmappe zu aktualisieren und die anderen Funktionen von Excel nicht zu verlieren.
Im Geiste, das Fischen zu lehren, anstatt Fische zu verteilen, werde ich Sie in die richtige Richtung weisen.Der erste Schritt besteht darin, JMP das Skript zum Importieren der Tabelle schreiben zu lassen.Importieren Sie eine Ihrer Excel-Dateien manuell, ggf. mit dem Excel-Import-Assistenten.Die resultierende Tabelle enthält ein Skript mit dem Titel "Quelle", das das Skript zum Importieren der Excel-Datei enthält.Es könnte etwa so aussehen:
Open(
"filename.xlsx",
Worksheets( "Sheet 1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
Dies ist der Beginn Ihres eigenen Skripts.Kopieren Sie es in ein Skriptfenster.Um ein Handle auf die Datentabelle aus der importierten Excel-Datei zu setzen, setzen Sie einfach ein " = " vor "Open(".
Als nächstes müssen Sie Änderungen am Tabelleninhalt vornehmen.Sie können auf einen bestimmten Wert in der gewünschten Zeile und Spalte zugreifen und den Wert folgendermaßen festlegen:
dt:<COLNAME>[<ROW number="">] = <DESIRED value=""></DESIRED></ROW></COLNAME>
Wenn der Spaltenname Sonderzeichen enthält, verwenden Sie dt:Name("")[].
Zuletzt müssen Sie die Ergebnisse exportieren.Es gibt einige andere Beiträge in der Community, die Sie durch das Speichern einer JMP-Tabelle im .xlsx-Format führen.Hier ist ein aktuelles: https://community.jmp.com/t5/Discussions/Saving-Data-Table-to-Excel-format/td-p/40392
Ich empfehle Ihnen dringend, zu versuchen, die Teile selbst zusammenzusetzen.Nur so werden Sie im Scripting geübt.Wenn Sie bei einem bestimmten Teil stecken bleiben, sind wir hier, um Ihnen zu helfen.
Ich suche ein JSL-Skript, mit dem ich dies tun kann.
Sie könnten die Excel-Datei importieren, ändern und dann wieder in ein xlsx-Format exportieren, aber dabei würden Sie alle Excel-spezifischen Funktionen verlieren.Dies würde nur funktionieren, wenn Sie eine Tabelle mit nur Spaltenüberschriften und Daten ohne Formeln, spezielle Formatierung usw. hätten.