rinominare file PDF



  • rinominare file PDF
    di antonio57 (utente non iscritto) data: 15/05/2013 21:15:23

    Buonasera,
    premetto che mi sto avvicinando ora al vba, dopo le ferie dovrei fare un corso di vba x exel.
    Ma vorrei iniziare a rivolvere ora un problemino che ora risolvo con FileRenamer.
    Settimanalmente invio al ns. outsourcing per archivare i documenti un file di portafoglio contenete i dati necessari.
    Tramite macro, estraggo i nomi dei file presente nella dir: FA4_DA INVIARE, i relativi dati PDF:
    - A1 nome file
    - B1 data del file
    - C1 nome della nomenclatura (ex abb_ccc_Nomefile_data)
    sono diverse centinaia da rinominare settimanalmente.
    C'è la possibilità di farlo con una macro senza uscire da excel? Da aggiungere alla fine dell'altra macro
    Dovrebbe controllare che il nome file presente in A1 e rinominare con C1 lo stesso dentro la dir così fino a quando la cella A sia vuota.
    Spero di essere stato chiaro.
    Grazie a quanti vorranno darmi una mano
    Saluti
    Antonio



  • di Vecchio Frac data: 16/05/2013 11:31:35

    Si può fare mediante un ciclo For per ogni File dentro l'oggetto Folder esposto da FileSystemObject.
    Esiste l'istruzione Name per rinominare i file.
    Rispondo per tenere su la discussione, appena ho un minuto vedo di abbozzare un pezzo di codice, se qualcun altro arriva prima, meglio per te :)





  • di antonio57 (utente non iscritto) data: 28/05/2013 22:21:55

    Buonasera,
    nessuno riesce a darmi una dritta come fare?

    Grazie

    Antonio



  • di mabolsie data: 28/05/2013 22:31:02

    Ciao Antonio potresti allegare il file esempio con la macro che hai fatto in modo da capire di quello che vorresti fare .
    Ciao Max



  • di antonio57 (utente non iscritto) data: 29/05/2013 22:27:59

    La macro rinomi_pdf legge la dir, elencando i files PDF presenti, e li scrive nel foglio Base. Vorrei rinominare i files, il vecchio nome si trova in cella H, con il nuovo nome presente in cella C.

    xxxp://www.filedropper.com/filemanager/public.php?service=files&t=d9d673f61afe3a5441f07562334738fb

    Ho provato la seguente macro, ma rinomina il primo e poi continua a dire che il file esiste già, ma non trovo l'errore.

    Grazie in anticipo per l'aiuto.

    Antonio








     
    Sub pdf()
    Sheets("Menu").Select
     Percorso = Range("B8").Value
    Sheets("Base").Select
     Range("H:H").Select
     Nome = Range("H1").Value
     NomeNew = Percorso & Range("C1")
     NomeOld = Percorso & Nome
    While ActiveCell.Offset(0, 0).Value > " "
       If Len(Dir(Percorso & Nome)) = 0 Then
            MsgBox "Questo file non esiste: " & Nome & este
        Else
                Name NomeOld As NomeNew
        End If
        ActiveCell.Offset(1, 0).Select
        Nome = ActiveCell.Offset(0, 0).Value
        NomeNew = Percorso & ActiveCell.Offset(0, 2).Value
        NomeOld = Percorso & Nome
    Wend
    End Sub



  • di mabolsie (utente non iscritto) data: 29/05/2013 22:36:57

    Ciao antonio, per allegare i file non c'è bisogno che ricorri a siti downloader ma più semplicemente dal tasto in alto a destra della discussione " allega file ". Ricordati di comprimerlo con uno zippatore.
    per la macro provo a darle un'occhiata.

    Ciao Max



  • di antonio57 (utente non iscritto) data: 30/05/2013 23:04:14

    Per fare le prove avevo messo dei PDF, ed erano troppo grandi per l'upload direttamente dal sito, per quello sono ricorso al link esterno.
    Cmq grazie dell'informazione.

    Forse ho risolto, ho sistemato la riga, NomeNew = Percorso & ActiveCell.Offset(0, -5).Value. Sembra che funziona.
    Se avete qualche suggerimento, per migliorarla.

    Saluti
    Antonio


     
    Sub pdf()
    Sheets("Menu").Select
    Percorso = Range("B8").Value
    Sheets("Base").Select
     Range("H1").Select
     Nome = Range("H1").Value
     NomeNew = Percorso & Range("C1")
     NomeOld = Percorso & Nome
    While ActiveCell.Offset(0, 0).Value > " "
       If Len(Dir(Percorso & Nome)) = 0 Then
            MsgBox "Questo file non esiste: " & Nome & este
        Else
                Name NomeOld As NomeNew
        End If
        ActiveCell.Offset(1, 0).Select
        Nome = ActiveCell.Offset(0, 0).Value
        NomeNew = Percorso & ActiveCell.Offset(0, -5).Value
        NomeOld = Percorso & Nome
    Wend
    End Sub