Novità

Scelta percorso file dinamico senza immissione (da uscire pazzi)

Edoardo_95

Advanced Member
Salve a tutti

Ho uno script che presenta questa funzione

Codice:
Function ScegliFiletxt(sDir)
Dim i
ReDim aV(0)
Call ElencoFileInDirectory(sDir,aV,".txt")
i = ScegliOpzioneMenu(aV,,"Scegli file txt")
ScegliFiletxt = sDir & aV(i) & ".txt"
End Function
Dim sFile1
Dim aLunghette
Dim sFiletxt
sFile1 = "C:\Users\utente\Desktop\Script\"
sFiletxt = ScegliFiletxt(sFile1)


Ogni qualvolta io lancio lo script devo impostare lo specifico percorso in cui risiedono i file txt. Esiste un modo per evitare di immettere "manualmente" il percorso di sFile1? ... magari fare in modo da reperire "automaticamente" il percorso in base alla cartella in cui risiede lo script medesimo?
 
Forse ho trovato un soluzione adoperando il linguaggio vbs che riporto qui di seguito:

Codice:
Left(wscript.scriptfullname, (Len(wscript.scriptfullname) - Len(wscript.scriptname)))

come posso adattarlo a spaziometria? Considerando che il "comando" WScript non viene riconosciuto da spaziometria?
 
Ciao.

Secondo me devi attribuire gli indirizzi dei file

imponendoli alle variabili con il segno di uguale.

SENZA usare le istruzioni preposte alla scelta di essi.

Perchè esse ti inducono a scegliere i file tra i molti presenti.

:)
 
Buonasera a tutti e grazie davvero per il supporto fornito ?. Il mio obbiettivo è quello di mantenere la funzione di scelta del file .TXT ma di non immettere attraverso il codice la Path di sistema dove si trovano.

Esempio pratico e fittizio

Se apro lo script nella cartella di un computer

C:\Users\marco\Desktop\Script\

Ed un giorno apro lo stesso script sul computer di un'altra persona

C:\Users\luca\Desktop\programma\

Nella funzione richiamata devo modificare il percorso del file (sFile1) in base all'utente (marco/luca) e la cartella (script/programma) .


Voglio creare una versione "portatile" dello script in sostanza.

Ho provato GetDirectoryApp ma il risultato è il seguente

C:\Users\utente\Appdata\roaming\spaziometria\

Ovvero la cartella "dati" di spaziometria
 
Ciao Edoardo, se ho capito bene cosa cerchi..., per rendere "portable" qualsiasi script che pesca da un file txt
basta che usi quest'accortezza:

sfile = ".\" & "filetxtdesiderato.txt"

e che tu inserisca i files txt che ti necessitano sempre nella stessa directory dove risiede lo stesso script che li richiama...

Ciao

:)
 
Perfetto è proprio quello che cerco :) .. ma spaziometria continua a restituirmi C:\Users\utente\AppData\Roaming\spaziometria :confused:
Ho provato a disinstallare ed reistallare il programma ma nulla .. richiama automaticamente la cartella dati di spaziometria .. a molti funziona il metodo ".\" che conosco .. ma a me non c'è verso ?
 
Perfetto è proprio quello che cerco :) .. ma spaziometria continua a restituirmi C:\Users\utente\AppData\Roaming\spaziometria :confused:
Ho provato a disinstallare ed reistallare il programma ma nulla .. richiama automaticamente la cartella dati di spaziometria .. a molti funziona il metodo ".\" che conosco .. ma a me non c'è verso ?

Prova a postare la parte del codice che ti da sempre errore... e vediamo di risolvere...

Ciao!

:)
 
Lo script non mi dà errore ? semplicemente quando inserisco

sfile = ".\"

Anzi che "pescare" i file nella cartella in cui risiede lo script me li va a pescare nella cartella dati di spaziometria che non c'entra nulla ovvero

C:\Users\utente\AppData\Roaming\spaziometria

Ciao ??
 
Lo script non mi dà errore ? semplicemente quando inserisco

sfile = ".\"

Anzi che "pescare" i file nella cartella in cui risiede lo script me li va a pescare nella cartella dati di spaziometria che non c'entra nulla ovvero

C:\Users\utente\AppData\Roaming\spaziometria

Ciao ??

Da come hai descritto il problema sembrerebbe che tu debba solo commentare e quindi disattivare gli eventuali path "aggiuntivi" presenti nel tuo code tipo dir o sfile ad esempio i quali evidentemente hanno qualche aggancio o richiamo a quella cartella di sistema di spaziometria ;)

Perchè se lasci solo

sfile1 = ".\filetxt.txt"

non c'è motivo alcuno che ti apra la cartella dati di spaziometria :)
 
Ciao esiste una funzione che ritorna il per orso dati del pc corrente...non ricordo il nome della funzione...inizia con Get
Quindi

Sfile = getpercorso & "mioscript.ls"
 
Scusa ma ....

... il pc non può sapere dove si trova "un file esterno".

Forse non lo sa neppure il sistema operativo.

Tanto è vero che si deve lanciare un programma per la ricerca dei file

ed occorre anche spesso molto tempo per cercare il nome inserito

in ogni posizione (nella directrory) prima che il file venga trovato.

:)
 
Ops ...

Luigi ho visto che hai dato una risposta mentre scrivevo.

Penso di no.

Conosco GetDirectoyappdata e GetDirectoryTemp,

ma sembra che siano quelle da cui vuole togliersi.

Quindi secondo me ... lui vorrebbe un programma

come quelli di installazione che sanno a priori

quanto c'è tra i contenuti e dove esso è ... prima di utilizzarlo.


:)
 
ho letto meglio la richiesta , purtroppo gli script girano dentro spaziometria e non tramite wscript.exe che è il programma di windows deputato ad eseguire i vbs , quindi sebbene in uno script che gira in windows e lanciato tramite wscript conoscere il percorso è molto semplice , farlo da spaziometria al momento non è possibile ..
 
Ultima modifica di un moderatore:
Grazie infinite per il supporto a tutti :D . Che peccato .. Immaginavo fosse impossibile, dopo tutte le prove ed i meccanismi utilizzati o_O però tentar non nuoce... ed almeno ci ho provato ?
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 17 giugno 2025
    Bari
    50
    69
    29
    20
    42
    Cagliari
    90
    18
    15
    24
    70
    Firenze
    01
    53
    24
    25
    36
    Genova
    89
    49
    67
    05
    30
    Milano
    17
    16
    53
    87
    56
    Napoli
    78
    28
    67
    30
    55
    Palermo
    08
    69
    05
    85
    22
    Roma
    28
    76
    19
    77
    17
    Torino
    71
    56
    03
    15
    09
    Venezia
    57
    82
    76
    52
    62
    Nazionale
    83
    49
    07
    12
    13
    Estrazione Simbolotto
    Napoli
    30
    33
    28
    44
    11
Indietro
Alto