Hallo,
Gibt es eine Möglichkeit, eine vorhandene Excel-Datei (eine einzelne bestimmte Zeile) zu ändern und sie von jmp aus wieder im ursprünglichen Ordner zu speichern?
Jede Hilfe wäre dankbar.
Danke schön!
Wenn Sie das Windows-Betriebssystem verwenden und ein wenig VBscript kennen, können Sie dies mit „Programm ausführen“ tun.
Das angehängte Skript verwendet wscript (soweit ich weiß, immer unter Windows-Betriebssystemen). Es öffnet Big Class und speichert es dann als Excel, um eine vorhandene Excel-Arbeitsmappe zu emulieren.
Das einfache VBscript ändert den Wert von Zeile E3 und färbt die Zelle gelb. Dieses Skript verwendet JSL, um das VBscript zu schreiben. Das Skript könnte jedoch existieren und einfach über JMP oder zahlreiche andere Methoden ausgeführt werden.
JMP verwendet Wscript, um das gespeicherte VBscript auszuführen. Dies ist eine Möglichkeit, eine Arbeitsmappe zu aktualisieren, ohne die anderen Funktionen von Excel zu verlieren.
Ganz im Sinne des Leitens des Fischens statt des Verteilens von Fisch möchte ich Sie in die richtige Richtung weisen. Der erste Schritt besteht darin, JMP das Skript schreiben zu lassen, damit Sie die Tabelle importieren können. 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 einen Handle für die Datentabelle aus der importierten Excel-Datei zu setzen, fügen Sie einfach ein „ =“ vor „Open(“ ein.
Als nächstes müssen Sie die gewünschten Ä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 eine aktuelle Version: https://community.jmp.com/t5/Discussions/Saving-Data-Table-to-Excel-format/td-p/40392
Ich empfehle Ihnen dringend, die einzelnen Teile selbst zusammenzusetzen. Nur so erlernen Sie die Skripterstellung. Wenn Sie bei einem bestimmten Teil nicht weiterkommen, sind wir hier, um Ihnen zu helfen.
Ich suche nach einem JSL-Skript, das mir dies ermöglicht.
Sie könnten die Excel-Datei importieren, ändern und dann wieder in ein XLSX-Format exportieren, würden dabei jedoch alle Excel-spezifischen Funktionen verlieren. Dies würde nur funktionieren, wenn Sie eine Tabelle nur mit Spaltenüberschriften und Daten ohne Formeln, spezielle Formatierungen usw. hätten.