Salvataggio su disco come nascosto o di sola letturaHo uno script .jsl che estrae i dati da un server SQL e li salva come .jmp e .xlsx.Il file .jmp è così posso guardare i dati senza aspettare la query SQL. Il file .xlsx è quindi un altro file .xlsm può leggerlo (anche senza attendere) ed eseguire altre macro secondo necessità.
Tuttavia, alcune persone senza JMP aprono il file .xlsx per leggere i dati.E poi non lo chiudono, il che significa che .jsl non può salvare una nuova copia aggiornata (ogni ora), il che significa che .xlsm sta usando dati obsoleti.
Voglio che il file .jsl salvi una copia nascosta (per il file .xlsm) e una copia visibile (per gli umani), ma sembra che sia vietato salvare il .jsl su un file nascosto.Come è, ovviamente, il salvataggio su un file di sola lettura.
Posso salvare .jsl su un file nascosto? Posso usare .jsl per mostrare prima il file?C'è una soluzione molto più semplice che sto trascurando?Grazie in anticipo.
Re: Salvataggio su disco come nascosto o di sola letturaEhi Craig, o pubblico, sono un vero HACK in jsl, se la tabella excel che voglio salvare come di sola lettura (su un file *.xlsx attualmente aperto o nascosto) è in \\Server\Engineering\Project\qbert .xlsx, come posso applicare lo script sopra? Nell'esempio, txt è la tabella di interesse? E se sì, quali sono i termini text, attrib.exe e file ? Sono quelle funzioni jsl o riferimenti alla tabella che sto manipolando?Grazie in anticipo!!- Devin
Re: Salvataggio su disco come nascosto o di sola letturaGrazie Craige, questo apre alcune porte pulite.Re: Salvataggio su disco come nascosto o di sola letturadue frammenti che potrebbero essere utili
// make read only: attrib.exe +R <PATH>
txt=Run Program(executable("attrib.exe"),options({"+R","\!""||file||"\!""}),readfunction("text"));
if(txt!="",show(txt));</PATH>E
// make NOT read only: attrib.exe -R <PATH>
txt=Run Program(executable("attrib.exe"),options({"-R","\!""||convertfilepath(file,windows)||"\!""}),readfunction("text"));
if(txt!="",show(txt));</PATH>Probabilmente dovresti usare anche convertFilePath(... , windows) su quello in alto; l'attributo del programma della riga di comando si aspetterà un nome in stile Windows. Penso che il codice da cui li ho presi sappia che quello in alto è già OK. Attrib non stampa nulla quando funziona. L'if(...show...) è per il debug di nomi di percorsi errati. Il documento dice che attrib può impostare e cancellare anche l'attributo nascosto.
Penso che la sola lettura sia la strada da percorrere; Sospetto che ciò impedirà ad altri programmi di bloccarti.