Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Salvataggio e Cancellazione cartelle con VBA

68 views
Skip to first unread message

Final Job

unread,
Apr 14, 2021, 4:17:30 PM4/14/21
to
Buongiorno
Devo lavorare su una cartella che si trova nella directory
C:\OrdiniInArrivo. Quando finito (da qui parte l'intervento di una
macro) devo salvare (con nome) il lavoro in una differente directory
(C:\OrdiniInLavorazione) togliendo all'inizio del nome originario tutto
ciò che precede il primo carattere "_" partendo da sinistra e
aggiungendo al suo posto una nuova stringa che consiste nella
concatenazione di due variabili (Operatore e StatoLavorazione) separate
da un “-“ (es: Valeria-Consegnato). Il carattere "_" deve
essere lasciato.

Alla fine, devo cancellare il file originario in C:\OrdiniInArrivo.

Come si fa a sostituire il testo durante il salvataggio?
Come si fa a cancellare il vecchio file?

Grazie
Ale


--
Questa email è stata esaminata alla ricerca di virus da AVG.
http://www.avg.com

Final Job

unread,
Apr 14, 2021, 4:42:45 PM4/14/21
to
Dico primo carattere "_" partendo da sinistra perchè nel nome ce ne sono
altri.

Il carattere "_" va lasciato dove è nel nuovo nome di salvataggio così
come tutto ciò che lo segue.

Grazie

casanmaner

unread,
Apr 14, 2021, 4:46:33 PM4/14/21
to
Ma il file che si trova in C:\OrdiniInArrivo e che immagino sia aperto viene lavorato "manualmente" o con delle macro alla cui conclusione vuoi che altra procedura lo salvi nell'altro percorso con il nome diverso?

Oppure è, ad es., un file xlsx dove un operatore fa degli inserimenti manuali e poi vuoi automatizzare la parte "salva con nome in percorso diverso, cancella dal percorso vecchio"?

Final Job

unread,
Apr 14, 2021, 5:45:01 PM4/14/21
to
Ciao, buonasera.
il file viene caricato (viene aperto) C:\OrdiniInArrivo e poi viene
lavorato sia manualmente che con l'applicazione di alcune macro.

Una volta completati gli interventi, lo stesso file si presenterà con
alcune variazioni rispetto alla condizione della sua apertura. Questa
versione va memorizzata in C:\OrdiniInLavorazione, previa modifica del
nome. Il file aperto all'inizio va ora cancellato da C:\OrdiniInArrivo.

I files sono tutti con attivazione di macro.

Spero di aver risposto alla domanda.

casanmaner

unread,
Apr 15, 2021, 9:26:47 AM4/15/21
to
Le due variabili Operatore e StatoLavorazione come vengono valorizzate?

ciao

Final Job

unread,
Apr 15, 2021, 10:57:16 AM4/15/21
to
Il 15/04/2021 15:26, casanmaner ha scritto:
> Le due variabili Operatore e StatoLavorazione come vengono valorizzate?

Vero.

Entrambe le variabili vengono valorizzate durante i lavori. Il valore
Operatore è prelevabile alla cella H2 del foglio LavorazioneOrdine
contenuto nella stessa cartella nella quale troverà posto la macro per
il salvataggio. Il Valore StatoLavorazione è prelevabile alla cella K2
del medesimo foglio.

Se ti stai adoperando per questa soluzione ti ringrazio anticipatamente
e vai pure con calma, tanto sto vedendo ancora il resto con i miei tempi.

Buona serata
Ale

casanmaner

unread,
Apr 15, 2021, 11:20:40 AM4/15/21
to
Ciao Ale,
non ho previsto controlli come ad es. nel caso in cui il nome del file non contenga l'under score o nel caso i dati inseriti in H2 e K2 siano vuoti o contengano caratteri non ammessi per nomi di file.
Intanto prova a vedere se la procedura basica presente nel modulo 1 fa quello che vuoi.
Tieni presente che ho dichiarato delle costanti di percorso che dovrai adattare ai tuoi percorsi reali.
Questo il link al file:
https://www.dropbox.com/s/dezsub0876ui2u4/Salvataggio%20e%20Cancellazione%20cartelle%20con%20VBA_test.xlsm?dl=0

Questo il codice presente nel modulo1


Public Const sPercorsoOrdiniInArrivo As String = "D:\Test\OrdiniInArrivo\"
Public Const sPercorsoOrdiniInLavorazione As String = "D:\Test\OrdiniInLavorazione\"

Sub SalvaOrdineInLavorazione()

Const sNomeFoglioLavorazioneOrdine As String = "LavorazioneOrdine"
Const sCellaOperatore As String = "H2"
Const sCellaStatoLavorazione As String = "K2"

Dim sOperatore As String
Dim sStatoLavorazione As String

Dim sNomeOriginarioFile As String
Dim sPrimaParteNomeNuovoFile As String
Dim sSecondaParteNomeNuovoFile As String
Dim sNuovoNomeFile As String

With ThisWorkbook
With .Worksheets(sNomeFoglioLavorazioneOrdine)
sOperatore = .Range(sCellaOperatore).Value
sStatoLavorazione = .Range(sCellaStatoLavorazione).Value
sPrimaParteNomeNuovoFile = sOperatore & "-" & sStatoLavorazione
End With
.Save
sNomeOriginarioFile = .Name
sSecondaParteNomeNuovoFile = Mid(sNomeOriginarioFile, InStr(1, sNomeOriginarioFile, "_"), Len(sNomeOriginarioFile))
sNuovoNomeFile = sPrimaParteNomeNuovoFile & sSecondaParteNomeNuovoFile
Application.DisplayAlerts = False
.SaveAs sPercorsoOrdiniInLavorazione & sNuovoNomeFile
Application.DisplayAlerts = True
On Error Resume Next
Kill sPercorsoOrdiniInArrivo & sNomeOriginarioFile
End With

End Sub

Final Job

unread,
Apr 15, 2021, 12:32:46 PM4/15/21
to
Il 15/04/2021 17:20, casanmaner ha scritto:
> Ciao Ale,
> non ho previsto controlli come ad es. nel caso in cui il nome del file non contenga l'under score o nel caso i dati inseriti in H2 e K2 siano vuoti o contengano caratteri non ammessi per nomi di file.
> Intanto prova a vedere se la procedura basica presente nel modulo 1 fa quello che vuoi.
> Tieni presente che ho dichiarato delle costanti di percorso che dovrai adattare ai tuoi percorsi reali.
> Questo il link al file:
> https://www.dropbox.com/s/dezsub0876ui2u4/Salvataggio%20e%20Cancellazione%20cartelle%20con%20VBA_test.xlsm?dl=0

Grazie Casanmaner, domani in giornata vedo e ti dico.
Buona serata !

Final Job

unread,
Apr 16, 2021, 10:24:43 AM4/16/21
to
Va benissimo così e ti ringrazio.

Le due costanti, nell'applicazione reale del tuo lavoro, diventeranno
delle variabili perchè il file passa di mano in mano durante la sua
lavorazione seguendo vari steps. Per ognuno di questi steps il file
verrà memorizzato in una directory dedicata al livello di lavorazione e
cancellato dalla precedente.

Metti a false i display alerts prima del salvataggio per evitare
l'apparizione di richieste di conferma?

Ciao

casanmaner

unread,
Apr 16, 2021, 10:39:11 AM4/16/21
to
Il giorno venerdì 16 aprile 2021 alle 16:24:43 UTC+2 Final Job ha scritto:

>
> Metti a false i display alerts prima del salvataggio per evitare
> l'apparizione di richieste di conferma?
>
Sì, nelle prove in effetti eseguivo più volte il salvataggio dello stesso file che era già presente e per non avere la richiesta di "sovrascrittura" avevo bloccato la richiesta di conferma.
0 new messages