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ì 23 dicembre 2025
    Bari
    57
    90
    22
    43
    26
    Cagliari
    62
    22
    02
    11
    18
    Firenze
    18
    56
    01
    68
    09
    Genova
    25
    79
    48
    88
    17
    Milano
    49
    10
    56
    83
    01
    Napoli
    09
    63
    67
    07
    50
    Palermo
    10
    82
    42
    78
    09
    Roma
    29
    12
    73
    74
    62
    Torino
    32
    09
    43
    06
    38
    Venezia
    45
    63
    67
    58
    56
    Nazionale
    43
    51
    74
    32
    01
    Estrazione Simbolotto
    Venezia
    44
    20
    27
    40
    12
Indietro
Alto