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?
 

Edoardo_95

Advanced Member
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?
 

joe

Advanced Member >PLATINUM PLUS<
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.

:)
 

Edoardo_95

Advanced Member
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
 

lotto_tom75

Advanced Premium Member
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

:)
 

Edoardo_95

Advanced Member
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 ?
 

lotto_tom75

Advanced Premium Member
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!

:)
 

Edoardo_95

Advanced Member
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 ??
 

lotto_tom75

Advanced Premium Member
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 :)
 
L

LuigiB

Guest
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"
 

joe

Advanced Member >PLATINUM PLUS<
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.

:)
 

joe

Advanced Member >PLATINUM PLUS<
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.


:)
 
L

LuigiB

Guest
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:

Edoardo_95

Advanced Member
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
    venerdì 19 aprile 2024
    Bari
    39
    05
    81
    89
    73
    Cagliari
    56
    21
    01
    90
    03
    Firenze
    05
    56
    68
    27
    09
    Genova
    42
    50
    90
    27
    83
    Milano
    16
    71
    29
    85
    04
    Napoli
    29
    19
    23
    63
    50
    Palermo
    35
    54
    33
    57
    61
    Roma
    17
    29
    43
    55
    74
    Torino
    69
    60
    03
    01
    26
    Venezia
    05
    57
    59
    43
    34
    Nazionale
    30
    43
    64
    65
    21
    Estrazione Simbolotto
    Genova
    02
    20
    25
    12
    19
Alto