Ciao,
C'è un modo per modificare un file EXCEL esistente (una singola riga particolare) e salvarlo nella cartella originale da jmp?
Qualsiasi aiuto sarebbe apprezzato.
Grazie!
Se stai utilizzando il sistema operativo Windows e conosci un po' di VBscript, puoi farlo utilizzando Esegui programma.
Lo script allegato utilizza wscript (per quanto ne so sempre su sistema operativo Windows). Apre Big Class quindi lo salva come Excel per emulare una cartella di lavoro Excel esistente.
Il semplice VBscript modifica il valore della riga E3 e colora la cella di giallo. Questo script utilizza JSL per scrivere VBscript, tuttavia, lo script potrebbe esistere ed essere eseguito semplicemente da JMP o numerosi altri metodi.
JMP utilizza wscript per eseguire il VBscript salvato. Questa è un'opzione per aggiornare una cartella di lavoro e non perdere le altre funzionalità di Excel.
Nello spirito di insegnare a pescare piuttosto che a distribuire pesce, ti indicherò la giusta direzione. Il primo passo è lasciare che JMP scriva lo script per importare la tabella. Importa manualmente uno dei tuoi file Excel, utilizzando l'importazione guidata di Excel, se necessario. La tabella risultante avrà uno script intitolato "Origine" che contiene lo script per importare il file Excel. Potrebbe assomigliare a questo:
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( "-" )
)
);
Questo è l'inizio del tuo script. Copialo in una finestra di script. Per inserire un handle sulla tabella dati dal file Excel importato, basta inserire un " =" prima di "Apri(".
Successivamente, è necessario apportare qualsiasi modifica al contenuto della tabella. Puoi accedere a un valore specifico nella riga e nella colonna desiderate e impostare il valore utilizzando qualcosa del genere:
dt:<COLNAME>[<ROW number="">] =<DESIRED value=""></DESIRED></ROW></COLNAME>
Se il nome della colonna contiene caratteri speciali, utilizzare dt:Name(" ")[ ].
Infine, è necessario esportare i risultati. Sono disponibili alcuni altri post nella community che guidano l'utente nel salvataggio di una tabella JMP nel formato .xlsx. Eccone uno recente: https://community.jmp.com/t5/Discussions/Saving-Data-Table-to-Excel-format/td-p/40392
Ti incoraggio vivamente a provare a mettere insieme i pezzi da solo. Questo è l'unico modo per diventare abile nello scripting. Se rimani bloccato su una parte particolare, siamo qui per aiutarti.
Sto cercando uno script JSL che mi permetta di farlo.
Potresti importare il file Excel, modificarlo e quindi esportarlo nuovamente in un formato xlsx, ma così facendo perderesti qualsiasi funzionalità specifica di Excel. Funzionerebbe solo se avessi un foglio di calcolo contenente solo intestazioni di colonna e dati senza formule, formattazione speciale, ecc.