Excel Forum Per condividere esperienze su Microsoft Excel

Macro per Rinominare Files

  • Messaggi
  • OFFLINE
    rollis13
    Post: 1.362
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Veteran
    Excel 2016-32bit Win11
    00 20/10/2023 18:59
    @dodo47, ottima soluzione la tua del post #26 [SM=g27811] , dato che non apri i file tramite Excel non s'impunta su file a lui sconosciuti.
    [Modificato da rollis13 20/10/2023 18:59]

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    L2018
    Post: 812
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 20/10/2023 19:06
    Re:
    dodo47, 20/10/2023 18:58:

    ciao
    ma, ripeto, la soluzione al post #26 l'hai provata o no ??

    saluti







    ccia la miseria, forse no, aspetta,provo, che caos,scusa

    LEO
    https://t.me/LordBrum
  • OFFLINE
    rollis13
    Post: 1.363
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Veteran
    Excel 2016-32bit Win11
    00 20/10/2023 19:06
    @L2018, usa la soluzione proposta da @dodo47 nel post #26 che risponde alle richieste del tuo post #27.

    Nel mio periodo lavorativo per non perdere tempo mi sono trovato a dover 'capire' cosa voleva la gente quando chiedeva/parlava di cose a loro poco conosciute ed ancora oggi di tanto in tanto ho delle intuizioni [SM=g27828].
    [Modificato da rollis13 20/10/2023 19:17]

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    dodo47
    Post: 3.558
    Registrato il: 06/04/2013
    Utente Master
    2010
    00 20/10/2023 19:16
    Re:
    rollis13, 20/10/2023 19:06:

    ... ed ancora oggi di tanto in tanto ho delle intuizioni [SM=g27828].



    👏👏👏👏👏









    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    L2018
    Post: 813
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 20/10/2023 19:21
    Re:
    dodo47, 20/10/2023 18:52:

    ciao Leo
    solo per mia curiosità prova anche la soluzione al post #26
    (non dovrebbe avere criticità)


    saluti




    eccomi anche alla tua
    certamente ottima come impostazione, capisco aprire in binario, ma
    ho fornito 23 files random dalla mia cache, sempre SENZA estensioni, però
    19 ne ha giustamente scartati
    1 lo ha indovinato, immagine webp
    3 li ha sbagliati, chiamandoli 1 come MP3, ma non aveva il tag ID3, 1 chiamandolo PNG pur senza tag, e 1 come MP4 pur non trovandoci sigla
    ora solo tu puoi sapere, io non mi oriento molto, dal momento che hai pur sempre richiamato la tabella delle estensioni
    hai considerato i primi, chessoio, 20 caratteri ?
    farò altre prove, sarebbe bello scovare il motivo

    Leo
    P.S.
    se per caso voialtri usate CHROME, posso dirvi che anche chrome usa la stessa struttura per i files della cache, e cioè i file non di indice si chiamano sempre F_000XYZ, come Vivaldi, potete provare voi stessi

    Leo
    [Modificato da L2018 20/10/2023 19:29]

    LEO
    https://t.me/LordBrum
  • OFFLINE
    dodo47
    Post: 3.559
    Registrato il: 06/04/2013
    Utente Master
    2010
    00 20/10/2023 19:27
    ciao
    mi mandi per favore un file che ha sbagliato ??

    usa:
    If InStr(UCase(Left(mStr, 20)), UCase(Corr(j, 1))) > 0 Then


    (in effetti io controllavo tutto il file e tralasciavo maiuscole e minuscole)

    saluti
    [Modificato da dodo47 20/10/2023 19:47]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    L2018
    Post: 814
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 20/10/2023 19:31
    Re:
    rollis13, 20/10/2023 19:06:

    @L2018, usa la soluzione proposta da @dodo47 nel post #26 che risponde alle richieste del tuo post #27.

    Nel mio periodo lavorativo per non perdere tempo mi sono trovato a dover 'capire' cosa voleva la gente quando chiedeva/parlava di cose a loro poco conosciute ed ancora oggi di tanto in tanto ho delle intuizioni [SM=g27828].




    ROLLIS, capisco, ma onestamente puoi dire che io già nel primo post non mi sia espresso bene ?
    cosa ho sbagliato ?

    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 815
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 20/10/2023 19:34
    Re:
    dodo47, 20/10/2023 19:27:

    ciao
    mi mandi per favore un file che ha sbagliato ??

    usa:
    If InStr(Left(UCase(mStr, 20)), UCase(Corr(j, 1))) > 0 Then


    (in effetti io controllavo tutto il file e tralasciavo maiuscole e minuscole)

    saluti



    ecco i 3 file sbagliati

    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    dodo47
    Post: 3.560
    Registrato il: 06/04/2013
    Utente Master
    2010
    00 20/10/2023 19:46
    ciao
    Prova e fai sapere....
    Dei tre file non ne ha rinominato nessuno...corretto??

    ciao ciao

    Option Explicit
    
    Sub Leo()
    Dim MioFile As Variant, Corr As Variant, mFile As String, mStr As String
    Dim OldName As String, NewName As String, j As Long, mFld As Object, mDir As String
    Dim GetExt As String, t As Date, NonElab As String, ck As Boolean
    Corr = Range("A3:B10") ' <<<<<<<<<<<<<<< modificare oppure automatizzare !!!!!
    Set mFld = Application.FileDialog(msoFileDialogFolderPicker)
    With mFld
      If .Show Then
        mDir = .SelectedItems(1)
        mFile = Dir(mDir & "\*.*")
        Do While Len(mFile) > 0
            GetExt = Split(mFile, ".")(UBound(Split(mFile, ".")))
            If GetExt = mFile Then
                Open (mDir & "\" & mFile) For Binary As #1
                mStr = Input(LOF(1), #1)
                Close
                ck = False
                For j = 1 To UBound(Corr)
                    If InStr(UCase(Left(mStr, 20)), UCase(Corr(j, 1))) > 0 Then
                        OldName = mDir & "\" & mFile
                        NewName = mDir & "\" & mFile & "." & Corr(j, 2)
                        Name OldName As NewName
                        ck = True
                        Exit For
                    End If
                Next j
                If Not ck Then NonElab = NonElab & mFile & vbCrLf
            End If
            mFile = Dir
        Loop
      End If
    End With
    End Sub


    NOTA BENE: DEVI ACCERTARTI CHE IN COLONNA A NON CI SIANO CELLE VUOTE!!!!
    ALTRIMENTI DENTRO IL FILE UNO"VUOTO" LO TROVA E RINOMINA.


    Se hai problemi a farlo lo controlliamo da codice.....
    [Modificato da dodo47 20/10/2023 19:57]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    rollis13
    Post: 1.364
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Veteran
    Excel 2016-32bit Win11
    00 20/10/2023 19:54
    @L2018, stai tranquillo, già nel primo post ti sei spiegato benissimo. Secondo me il fatto è che nessuno fa quello che chiedevi mentre io lo faccio spessissimo (per motivi diversi dal tuo) ed è per questo che ho intuito un po' prima. La mia proposta 'tardiva' è dovuta al fatto che sono partito con il piede sbagliato insistendo a voler far tutto con Excel dato che le prime prove erano andate sempre a buon fine ma poi mi sono impantanato [SM=g27825] .

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    L2018
    Post: 816
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 20/10/2023 20:06
    Re:
    rollis13, 20/10/2023 19:54:

    @L2018, stai tranquillo, già nel primo post ti sei spiegato benissimo. Secondo me il fatto è che nessuno fa quello che chiedevi mentre io lo faccio spessissimo (per motivi diversi dal tuo) ed è per questo che ho intuito un po' prima. La mia proposta 'tardiva' è dovuta al fatto che sono partito con il piede sbagliato insistendo a voler far tutto con Excel dato che le prime prove erano andate sempre a buon fine ma poi mi sono impantanato [SM=g27825] .




    Secondo me il fatto è che nessuno fa quello che chiedevi mentre io lo faccio spessissimo

    ahah, ok, concetto fondamentale, grazie
    volendo posso ancora cavillare: se io dico i primi 20 caratteri del file, e poi lo ripeto pur, significa del contenuto del file, altrimenti avrei detto o dovuto dire: i primi 20 caratteri del NOME del file.
    Cosa vuoi dire con: piede sbagliato insistendo a voler far tutto con Excel ?
    mio son perso qualcosa ?

    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    rollis13
    Post: 1.365
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Veteran
    Excel 2016-32bit Win11
    00 20/10/2023 20:07
    @dodo47, visto che si devono rinominare solo file senza estensione credo che usare
    mFile = Dir(mDir & "\*.")
    possa ridurre i tempi di lavorazione nel caso che nella cartella trattata siano anche presenti molti file con estensione.

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    L2018
    Post: 817
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 20/10/2023 20:17
    Re:
    Ottimo
    Dei 3 files non ne ha rinominato nessuno, CORRETTO, va bene, cosa non andava?

    NOTA BENE: DEVI ACCERTARTI CHE IN COLONNA A NON CI SIANO CELLE VUOTE!!!!
    ALTRIMENTI DENTRO IL FILE UNO"VUOTO" LO TROVA E RINOMINA.

    qui non ho capito
    dall'inizio lo schema parte da A3 solo perchè piu sopra c'è una dicitura e in A1 è vuota,ma funziona, e allora ?
    posso benissimo togliere le 2 righe A1 e A2
    e rimane Range(A1:B8), no ?
    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    dodo47
    Post: 3.561
    Registrato il: 06/04/2013
    Utente Master
    2010
    10 20/10/2023 20:20
    ciao
    Leo...nulla di sbagliato, ma evidentemente io (e altri) abbiamo interpretato il tuo "primi 20 caratteri" come riferiti al nome del file.

    Questo il codice per automatizzare il range ed escludere eventuali celle vuote.

    Comprende anche l'ottimo suggerimento di @Rollis...👋👋

    Dovrebbe essere completo anche del mio Nota Bene

    saluti

    Option Explicit
    
    Sub Leo()
    Dim MioFile As Variant, Corr As Variant, mFile As String, mStr As String
    Dim OldName As String, NewName As String, j As Long, mFld As Object, mDir As String
    Dim lr As Long
    lr = Range("A" & Rows.Count).End(xlUp).Row
    Corr = Range("A3:B" & lr)
    Set mFld = Application.FileDialog(msoFileDialogFolderPicker)
    With mFld
      If .Show Then
        mDir = .SelectedItems(1)
        mFile = Dir(mDir & "\*.")
        Do While Len(mFile) > 0
                Open (mDir & "\" & mFile) For Binary As #1
                mStr = Input(LOF(1), #1)
                Close
                For j = 1 To UBound(Corr)
                    If Corr(j, 1) <> "" And Corr(j, 2) <> "" Then
                        If InStr(UCase(Left(mStr, 20)), UCase(Corr(j, 1))) > 0 Then
                            OldName = mDir & "\" & mFile
                            NewName = mDir & "\" & mFile & "." & Corr(j, 2)
                            Name OldName As NewName
                            Exit For
                        End If
                    End If
                Next j
            mFile = Dir
        Loop
      End If
    End With
    End Sub




    [Modificato da dodo47 20/10/2023 20:22]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    L2018
    Post: 818
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 20/10/2023 20:53
    Domenico
    un'ultima cortesia
    per chiarezza ho spostato A3:B10 in A1:B8 e sembrava andar bene
    ma io vergognosamente non so posizionare Option Explicit
    ti rimando il pasticcio, me lo sistemi in modo da mantenere il tutto ?
    questo perchè in seguito vorrei inserire dei cronometri per vedere il tempo di ogni versione macro nel caso di molti files

    Grazie
    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    dodo47
    Post: 3.562
    Registrato il: 06/04/2013
    Utente Master
    2010
    00 20/10/2023 21:14
    ciao
    ok

    ti riallego il tuo file con solo il mio codice.

    Option Explicit va sempre ad inizio del modulo ed obbliga a dichiarare (Dim) tutte le variabili utilizzate nei codici.

    Se ti serve altro, chiedi

    saluti


    [Modificato da dodo47 20/10/2023 21:15]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    L2018
    Post: 820
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 20/10/2023 21:23
    Re:
    dodo47, 20/10/2023 21:14:

    ciao
    ok

    ti riallego il tuo file con solo il mio codice.

    Option Explicit va sempre ad inizio del modulo ed obbliga a dichiarare (Dim) tutte le variabili utilizzate nei codici.

    Se ti serve altro, chiedi

    saluti






    a parte l'ennesimo ringraziamento per la disponibilità deduco che option explicit vada sempre nel modulo del foglio, giusto ?
    perchè oltre ad essere 2 versioni invece di 4 di prima, una di queste 2 è grigia e quindi non parte, giusto ?
    solo per sapere
    tanto per sorridere, tu hai appena pochi mesi piu di me, e oggi anche io commetto errori, sarà la pennichella mancata ?

    Grazie
    [Modificato da L2018 20/10/2023 21:25]

    LEO
    https://t.me/LordBrum
  • OFFLINE
    dodo47
    Post: 3.563
    Registrato il: 06/04/2013
    Utente Master
    2010
    00 20/10/2023 21:47
    ciao
    Option Explicit va ad inizio di qualsiasi modulo:
    - modulo standard come nell'esempio
    - modulo del foglio (dove normalmente si inseriscono gli eventi)
    - modulo UserForm
    - modulo di classe


    perchè oltre ad essere 2 versioni invece di 4 di prima, una di queste 2 è grigia e quindi non parte, giusto ?


    Questa non l'ho capita Leo

    io ho allegato un file con 1 foglio e 1 modulo, non vedo nulla di grigio.

    Di solito il "grigio" nel vbe lo vedi se apri un file .xlsx (senza macro)



    sarà la pennichella mancata ?


    fondamentale!!!!...bastano 10 minuti "veri"


    saluti
    [Modificato da dodo47 20/10/2023 21:52]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    L2018
    Post: 821
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 20/10/2023 22:09
    vediamo
    io ti avevo mandato un file con 4 macro, 2 tue, 1 forse tua modificata da me, e 1 di rollis
    questo file non permetteva l'uso di almeno 1 macro, che compariva grigia non Eseguibile nella finestra che si attiva dalla barra menu -Excel
    chiedevo di metterle in condizioni che funzionassero ambe4 per appioppargli dei contatempo, e paragonare le prestazioni

    tu mi hai rimandato un file con 2 macro, 1 targata Foglio1.D4 e l'altra nominata D5
    la prima funziona, l'altra appare col comando Esegui in grigio, quindi credo non eseguibile
    quindi non mi ci raccapezzo tanto.

    Comunque approfitto per dire che tutto voglioso ho messo 970 files in opera e inserito un contatempo
    ma la macro a un certo punto si è interrotta comunicandomi: File esistente
    ottimo
    forse sarà stato un ipotetico doppione, devo rifare esperimento, sono curioso di vedere il tempo che impiega

    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    dodo47
    Post: 3.564
    Registrato il: 06/04/2013
    Utente Master
    2010
    10 20/10/2023 22:22
    ciao
    dopo questo vado a nanna!!!!

    Leo excel è, come dire, "sensibile"

    non chiamare le macro con "nomi" che possono essere interpretati come indirizzi di celle (D5..D3...etc etc)

    Cambia il nome alla macro (pippo o come ti pare) e vedrai che l'esegui verrà attivato.

    Comunque, come detto, le macro generiche NON vanno nei moduli dei fogli (ho sbagliato io a non cancellarla)

    un caro saluto e....buonanotte

    byby👋👋
    [Modificato da dodo47 20/10/2023 22:24]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    L2018
    Post: 822
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 20/10/2023 22:30
    Re:
    dodo47, 20/10/2023 22:22:

    ciao
    dopo questo vado a nanna!!!!

    Leo excel è, come dire, "sensibile"

    non chiamare le macro con "nomi" che possono essere interpretati come indirizzi di celle (D5..D3...etc etc)

    Cambia il nome alla macro (pippo o come ti pare) e vedrai che l'esegui verrà attivato.

    Comunque, come detto, le macro generiche NON vanno nei moduli dei fogli (ho sbagliato io a non cancellarla)

    un caro saluto e....buonanotte

    byby👋👋




    buonanotte, grazie di tutto

    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 823
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 21/10/2023 12:27
    Re:
    Ciao Domenico
    non resistevo e ho sperimentato

    preso 500 file, la tua macro ha impiegato 2 minuti
    quindi 1000 files avrebbe impiegato 4 minuti
    ma nella prova si è impuntato
    allora riflettuto, controllato e ho notato che tu fai prelevare tutti i files, ma interi ( LOF(1) )
    ho potuto logicamente sostituirgli il valore 100 e miracolo (atteso) 1000 files = 7 secondi
    Ergo prossima prova preleviamo 50 bytes invece di 100
    ottimo
    t'è piaciuto ?
    in pratica se io andrò a verificare le estensioni su primi 20 bytes...a che serve prelevare l'intero file ? tanto vale far prelevare 20 bytes, sicchè anche l'istruzione stessa successiva INSTR puo' essere abbreviata
    Leo
    [Modificato da L2018 21/10/2023 12:44]

    LEO
    https://t.me/LordBrum
  • OFFLINE
    dodo47
    Post: 3.565
    Registrato il: 06/04/2013
    Utente Master
    2010
    00 21/10/2023 12:42
    Re: Re:
    L2018, 21/10/2023 12:27:


    t'è piaciuto ?



    👏👏👏👏

    bene!!

    cari saluti





    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    L2018
    Post: 824
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 22/10/2023 19:07
    buona domenica quasi conclusa

    nella macro che mi avete gentilmente fornito (vedi in fondo, da me leggermente modificata e funziona benissimo) vorrei che ci fosse alla fine della procedura un comando che cancelli tutti e solo i files che sono rimasti senza estensione perchè non rinominati.
    E' un'operazione fattibilissima a mano, ma il comando sarebbe divertente
    Ammesso che sia KILL (ma forse non è kill, non saprei, sto guardando) che cosa devo scrivere esattamente ?
    non ho indovinato nessuna prova fatta, pur avendo seguito qualche indicazione
    beninteso KILL deve cancellare i files che si trovano nella cartella usata in quel momento per gli altri files.
    il kill mi chiedo se sia meglio posizionarlo nel corso della elaborazione o alla fine
    in quale punto della macro devo posizionarlo ?

    End If
    qui ?

    End With
    o qui ?

    Grazie

    MACRO
    Option Explicit
    Sub Dodo5()
    Dim MioFile As Variant, Corr As Variant, mFile As String, mStr As String
    Dim OldName As String, NewName As String, j As Long, mFld As Object, mDir As String
    Dim lr As Long, files As Long
    Dim T
    T = Now
    ' calcolo ultima riga colonna A
    lr = Range("A" & Rows.Count).End(xlUp).Row
    
    'crea array corrispondenze
    Corr = Range("A1:B" & lr)
    
    ' file dialog
    Set mFld = Application.FileDialog(msoFileDialogFolderPicker)
    With mFld
      If .Show Then
        mDir = .SelectedItems(1) ' cartella selezionata
        mFile = Dir(mDir & "\*.") ' primo file
    
    ' inizio loop lettura cartella
        Do While Len(mFile) > 0
            files = files + 1
            Open (mDir & "\" & mFile) For Binary As #1 ' apre in binario il file
            mStr = Input(20, #1) ' stringa contenente (tutto il file), solo alcuni bytes
            Close ' chiude file
            For j = 1 To UBound(Corr) ' cerca se nei primi 20 crt c'è una corrispondenza
                    If InStr(mStr, UCase(Corr(j, 1))) Then       ' ho messo io questa riga
                        OldName = mDir & "\" & mFile ' vecchio nome file
                        NewName = mDir & "\" & mFile & "." & Corr(j, 2) ' nuovo nome file con estensioner
                        Name OldName As NewName ' rinomina il file
                        Exit For
                    End If
            Next j
            mFile = Dir ' legge successivo file
        Loop
      End If
    End With
    Range("C1").Value = Now - T
    Range("D1").Value = files
    End Sub
    



    Leo
    [Modificato da L2018 23/10/2023 09:29]

    LEO
    https://t.me/LordBrum
  • OFFLINE
    dodo47
    Post: 3.571
    Registrato il: 06/04/2013
    Utente Master
    2010
    00 23/10/2023 17:34
    ciao
    se ti serve eliminare tutti i file senza estensione e visto che sei "innamorato" del dos:

    Sub DelNoExt()
    mPath = "C:\TuaPath\*."
    Shell "cmd /c del /F """ & mPath & """"
    End Sub


    Occhio che il processo è naturalmente irreversibile...

    saluti



    [Modificato da dodo47 23/10/2023 17:34]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    L2018
    Post: 827
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 23/10/2023 17:57
    Re:
    dodo47, 23/10/2023 17:34:

    ciao
    se ti serve eliminare tutti i file senza estensione e visto che sei "innamorato" del dos:

    Sub DelNoExt()
    mPath = "C:\TuaPath\*."
    Shell "cmd /c del /F """ & mPath & """"
    End Sub


    Occhio che il processo è naturalmente irreversibile...
    saluti


    grazie davvero, la tua macro è certo una garanzia, e la metto all'opera fra poco perchè devo uscire
    non immaginavo che per brevità dovessimo ricorrere al DOS, ma mi sta piu che bene

    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 828
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 23/10/2023 19:24
    Re:
    dodo47, 23/10/2023 17:34:


    Sub DelNoExt()
    mPath = "C:\TuaPath\*."
    Shell "cmd /c del /F """ & mPath & """"
    End Sub




    Ok, ho preso la tua macrina, che messa grezzamente non andava. l'ho incorporata nella macrona
    ho dimensionato MPATH come stringa, gli ho attribuito il precedente valore di MDIR, dal momento che mdir è qualsiasi path che io voglia usare (flessibilità)
    e tutto funziona alla perfezione

    PERFETTO
    Grazie

    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    rollis13
    Post: 1.366
    Registrato il: 16/08/2015
    Città: CORDENONS
    Età: 67
    Utente Veteran
    Excel 2016-32bit Win11
    10 23/10/2023 21:39
    Visto che c'hai messo le mani allora puoi usare questa riga ancora più ridotta e senza necessità di dichiarare nuove variabili. La devi mettere in fondo tra l' End If e End With.
    Shell "cmd /c del /F """ & mDir & "\*." & """" 'elimina file senza estensione rimasti
    [Modificato da rollis13 23/10/2023 21:39]

    ______________________________________________________________
    C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
  • OFFLINE
    L2018
    Post: 829
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 23/10/2023 21:49
    Re:
    rollis13, 23/10/2023 21:39:

    Visto che c'hai messo le mani allora puoi usare questa riga ancora più ridotta e senza necessità di dichiarare nuove variabili. La devi mettere in fondo tra l' End If e End With.
    Shell "cmd /c del /F """ & mDir & "\*." & """" 'elimina file senza estensione rimasti



    caspita Rollis, ho fatto decine di tentativi empirici di quel tipo, senza successo
    è proprio quello che grosso modo cercavo di fare
    ora provo

    Leo

    LEO
    https://t.me/LordBrum
  • OFFLINE
    L2018
    Post: 830
    Registrato il: 02/04/2018
    Città: PESCARA
    Età: 75
    Utente Senior
    EXCEL 2016 - SPREAD32
    00 23/10/2023 21:55
    Re:
    rollis13, 23/10/2023 21:39:

    Visto che c'hai messo le mani allora puoi usare questa riga ancora più ridotta e senza necessità di dichiarare nuove variabili. La devi mettere in fondo tra l' End If e End With.
    Shell "cmd /c del /F """ & mDir & "\*." & """" 'elimina file senza estensione rimasti




    bestiale, ottimo, è stato ancora piu veloce della soluzione precedente
    1530 files in 6 secondi
    domani forse avrei cercato di reinterpretare la posizione esatta e la struttura precisa della frase
    finora avevo tolto 2 righe da versione Dodo, ma quella della posizione mi aveva fatto dannare, infatti ho chiesto qui o lì ?
    ti ringrazio molto

    Leo
    [Modificato da L2018 23/10/2023 21:57]

    LEO
    https://t.me/LordBrum
  • 15MediaObject5,00667 6
2