Verifica se cartella é gia aperta

di il
11 risposte

Verifica se cartella é gia aperta

Buonasera, 

su un command button ho questo codice che apre una specifica cartella il cui percorso é salvato dentro la stringa pth

VBA.Shell "EXPLORER " & pth, vbMaximizedFocus

vorrei ottimizzarlo in modo che apra la cartella solo se non é gia aperta, altrimenti se gia aperta la renda solo vbMaximizedFocus

Sto cercando nel forum e su google ma non trovo quello che fa al mio caso.

Idee?

11 Risposte

  • Re: Verifica se cartella é gia aperta

    Non so come si fa perché da codice do un percorso per prelevare o salvare un file senza aprire la finestra del s.o. al massimo creo un form che mostra il contenuto della cartella e se non mi serve la chiudo.

    Perché aprire una cartella?

    25/10/2024 - fabionik2004 ha scrit

  • Re: Verifica se cartella é gia aperta

    Perché il command button salva una serie di pdf in questa cartella e dopo viene aperta tramite il comando che ho scritto sopra

    Quindi vorrei evitare di aprirla se è gia aperta

  • Re: Verifica se cartella é gia aperta

    PROBLEMA CONCETTUALE: 

    una cartella NON SI APRE, 

    SI NAVIGA.

    Sono I FILE che vengono APERTI e CHIUSI

  • Re: Verifica se cartella é gia aperta

    Altro problema concettuale… non si consente all'utente di navigare tra le cartelle di gestione dell'applicativo perchè possono essere generate azioni non gestibili…

    Se salvi i files in una cartella li visualizzi tramitte una listbox nella tua applicazione, sapendo cosa contiene perché hai i riferimenti nel database, e se devi apririli consenti l'azione di apertura… queste azioni sono guidabili e controllabili.

    L'interazione con il S.O. non solo non ha senso ma è tecnicamente sbagliato oltre che potenzialmente pericoloso.

    Supponi un utente vada a cancellare o aggiungere un file nella tua carella… usando il S.O…. avresti il contenuto della cartella non allineato con il database… questo è un classico errore di inesperienza… da evitare, non vorrai dover sincronizzare continuamente database e folder…?

    E se il file viene cancellato come lo recuperi…?

    Riflettici.

    Saluti

  • Re: Verifica se cartella é gia aperta

    Comunque è stato già trattato e alex aveva sollevato le stesse perplessità…

    https://www.iprogrammatori.it/forum-programmazione/access/chiudere-access-specifica-finestra-windows-aperta-t41718.html

  • Re: Verifica se cartella é gia aperta

    Non credo di aver capito.

    Attualmente dopo aver creato i file PDF viene aperta la cartella che li contiene, l'utente può successivamente aprire i pdf se necessario, o selezionarli per inviarli via mail, o chiudere la cartella se non deve fare altro.

    L'apertura della cartella è molto comoda in questo senso.

    L'unico problema che ho è che se creo piu pdf in momenti diversi, mi ritrovo la stessa cartella aperta piu volte.

    Se l'utente cancella file dentro questa cartella non è un problema e non ho necessità di sincronizzare il contenuto della cartella con il db.

    O per lo meno per questo database

  • Re: Verifica se cartella é gia aperta

    Il tuo concetto è “casalingo”… va bene se lo fai per le ricette di tua moglie, non ha senso ragionare cosi in una produzione sw per utenti aziendali.

  • Re: Verifica se cartella é gia aperta

    26/10/2024 - fabionik2004 ha scritto:


    Attualmente dopo aver creato i file PDF viene aperta la cartella che li contiene,

    lascia decidere all'utente se aprire il file (non la cartella) magari con un messaggio “aprire la cartella?”.

    26/10/2024 - fabionik2004 ha scritto:


    o selezionarli per inviarli via mail,

    hai la lista dei files pdf, sai dove si trovano come si chiamano e come allegarli ad una mail, quindi da un pulsantino “invia mail” prelevi i/il files/file e li/lo alleghi al/ai destinatario/destinatari. 

    a che serve aprire la cartella?

    26/10/2024 - fabionik2004 ha scritto:


    Se l'utente cancella file dentro questa cartella non è un problema

    l'utente puo' benissimo eliminare il file senza aprire la cartella: come sopra il pulsantino “elimina”. magari generi una preview del contenuto.

    in ogni caso, se l'utente vuole aprire la cartella dei files, indovina? pulsantino “apri cartella” e visualizza la cartella (magari con una vista di un tuo form). si suppone che l'utente alla fine chiuda la cartella ma se il form è tuo e non una finestra di sistema puoi chiuderla da codice.

  • Re: Verifica se cartella é gia aperta

    Sono dei concetti nuovi per me, ma mi ci mettero' sopra appena avro' tempo. Grazie per le dritte

  • Re: Verifica se cartella é gia aperta

    26/10/2024 - migliorabile ha scritto:


    PROBLEMA CONCETTUALE: 

    una cartella NON SI APRE, 

    SI NAVIGA.

    Sono I FILE che vengono APERTI e CHIUSI

    Una directory , come un file, la apri e la chiudi

    La apri quando ci doppio-cliccki dentro e la chiudi quando premi la X in alto a destra

    Almeno nell'accezione corrente questi sono i termini usati

  • Re: Verifica se cartella é gia aperta

    28/10/2024 - fabionik2004 ha scritto:


    Sono dei concetti nuovi per me, ma mi ci mettero' sopra appena avro' tempo. Grazie per le dritte

    Quello che vogliono dirti sopra e' che lasciare libero l'utente di far quello che vuole coi file usati dal gestionale (come aprire una directory e consentire ad esempio la cencellazione massiva) solitamente e' male

    Meglio sarebbe se al posto di aprire una directory, mettessi in una listbox o simile tutti i file presenti dentro la directory incriminata, cosi' dopo che l'utente ha scelto il file, tu da codice puoi consentirgli di fare quello che il gestionale gli deve consentire di fare, ad esempio aprire un lettore pdf e caricare il documento indicato

    In questo modo l'utente, anche volendo, non potra' cancellare o modificare inavvertitamente i file sottostanti, a meno che non scenda a livello file manager sistema operativo ed allora fa quel che vuole, ma non e' piu' all'interno ambiente gestionale

    La sostanza e' uguale (apertura finestra coi file fisici dentro, oppure listbox e tasto ‘visualizza’), ma con la seconda hai piu' controllo su quello che l'utente puo' fare, ed alcune volte si evitano disastri

    Questa cosa del “livello di protezione” rispetto al “livello di liberta” e' sempre un bel problema, perche' e' vero che l'utente non potra' cancellare i file che vede, e' anche vero che se volesse coscientemente farlo (dall'interno del gestionale) non potrebbe farlo lo stesso

Devi accedere o registrarti per scrivere nel forum
11 risposte