Condividi:        

RINOMINA FILE PDF MULTIPLI

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

RINOMINA FILE PDF MULTIPLI

Postdi salatony » 07/09/18 15:22

Ciao,
Ho bisogno di aiuto,
ti spiego.
Ho una cartella pdf,con all' interno molti file pdf (sono disegni), ogniuno di questi file pdf sono stati salvati come es. :
11112223333.1 staffa
11112223332.1 sfera
11112223339.2 cubo
ecc..

Ti chiedo una macro, per rinominare e salvare tutti i file eliminando lo spazio con il . (Punto), quindi i nuovi file diventerebbero con 12digit:
111122233331 staffa
111122233321 sfera
111122233392 cubo
ecc.
Mi interessa eliminare il solo il punto non la descrizione.
Grazie
Ciao
salatony
Utente Junior
 
Post: 68
Iscritto il: 08/11/13 21:16

Sponsor
 

Re: RINOMINA FILE PDF MULTIPLI

Postdi Anthony47 » 08/09/18 01:08

chiedo una macro, per rinominare e salvare tutti i file eliminando lo spazio con il . (Punto)
Questa frase mi manda in cortocircuito il neurone destro con quello sinistro; mi permetto quindi di tradurre in "Vorrei eliminare i "." ("punto") dal nome file". Se non e' quello che chiedi salta tutto il resto del messaggio e prova a descrivere nuovamente che cosa vorresti fare.

Questa funzione puo' essere realizzata con questa macro:
Codice: Seleziona tutto
Sub PointsFree()
Dim dPath, myFile As String, nName As String, fCnt As Long
Dim dPlex As Boolean, FSO As Object
'
'Sceglie la directory dei Pdf da rinominare
MsgBox ("Scegliere la directory da cui prelevare i Doc da aggiornare")
With Application.FileDialog(msoFileDialogFolderPicker)
   .Show
    If .SelectedItems.Count = 0 Then
        MsgBox ("Nessuna voce selezionata, il processo viene abortito")
        Exit Sub
    End If
    dPath = .SelectedItems.Item(1) & "\"
End With
'Cerca i file Pdf e rinomina:
Set FSO = CreateObject("Scripting.FileSystemObject")
myFile = Dir(dPath & "*.pdf")
Do
    If myFile = "" Then Exit Do
    DoEvents
    If Len(myFile) - Len(Replace(myFile, ".", "", , , vbTextCompare)) > 1 Then
        fCnt = fCnt + 1
        nName = Replace(Replace(myFile, ".pdf", "", , , vbTextCompare), ".", "", , , vbTextCompare) & ".pdf"
reDP:
        If FSO.FileExists(dPath & nName) Then
            dPlex = True
            nName = "#" & nName
        End If
        If dPlex Then dPlex = False: GoTo reDP
        Name dPath & myFile As dPath & nName
    End If
    myFile = Dir
Loop
Set FSO = Nothing
MsgBox ("Completato..." & vbCrLf & "File rinominati: " & fCnt)
End Sub

All'avvio la macro chiede di scegliere la directory su cui lavorare; poi cerca i file .pdf e li rinomina eliminando dal nome file tutti i "punto" presenti (eccetto quello di .pdf)
Nel caso che un nome file gia' esista, allora la rinomina avverra' aggiungendo in testa al nome file il carattere "#"

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: RINOMINA FILE PDF MULTIPLI

Postdi salatony » 12/09/18 19:46

si Anthony47,
vorrei eliminare il punto, così da unire il codice e farlo diventare di 12 digit,
nel listato, ho aggiunto la directory , poi ho fatto partire la macro il msg mi fa vedere la directory dove ho i file pdf ,
flaggo su ok, ma poi da errore
(premetto per excel uso micros.office 2000 premium):

With Application.FileDialog(msoFileDialogFolderPicker)
cosa faccio?

ciao
salatony
Utente Junior
 
Post: 68
Iscritto il: 08/11/13 21:16

Re: RINOMINA FILE PDF MULTIPLI

Postdi Anthony47 » 12/09/18 21:49

nel listato, ho aggiunto la directory , poi ho fatto partire la macro il msg mi fa vedere la directory dove ho i file pdf ,
flaggo su ok, ma poi da errore
(premetto per excel uso micros.office 2000 premium):
Codice: Seleziona tutto
With Application.FileDialog(msoFileDialogFolderPicker)

cosa faccio?


Il primo suggerimento che mi viene e' di portare Office 2000dal rigattiere e cercare una versione "leggermente" piu' moderna. FileDialog, da quello che leggo, e' disponibile da Office 2002, la versione subito dopo la tua.

In seconda battuta, prova a sostituire questa parte:
'Sceglie la directory dei Pdf da rinominare
MsgBox ("Scegliere la directory da cui prelevare i Doc da aggiornare")
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
If .SelectedItems.Count = 0 Then
MsgBox ("Nessuna voce selezionata, il processo viene abortito")
Exit Sub
End If
dPath = .SelectedItems.Item(1) & "\"
End With
'Cerca i file Pdf e rinomina:


con
Codice: Seleziona tutto
'Sceglie la directory dei Pdf da rinominare
MsgBox ("Scegliere il primo file da aggiornare")
'Scegli file e Apri:
    myFile = Application.GetOpenFilename("PDF files (*.pdf), *.pdf")
    If Not myFile <> False Then
        MsgBox ("Nessuna voce selezionata, procedura annullata")
        Exit Sub
    End If
    dPath = Left(myFile, InStrRev(myFile, "\", , vbTextCompare))
'Cerca i file Pdf e rinomina:


Invece di scegliere la directory coi file, la macro chiede venga selezionato il primo file, ma poi processa tutti i pdf di quel percorso.

Sinceramente non so quante altre istruzioni sono assenti su quella versione, prova e vediamo...
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: RINOMINA FILE PDF MULTIPLI

Postdi salatony » 13/09/18 20:00

Ciao,
ho provato, mi chiede il primo file ma poi si blocca a: If Not myFile <> False Then ,
-errore di run-time 13:
tipo non corrispondente

Ciao
salatony
Utente Junior
 
Post: 68
Iscritto il: 08/11/13 21:16

Re: RINOMINA FILE PDF MULTIPLI

Postdi Anthony47 » 14/09/18 09:18

Eh, si... Infatti c'era anche una "dichiarazione" da modificare nella seconda riga: non myFile As String ma
myFile As Variant

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: RINOMINA FILE PDF MULTIPLI

Postdi salatony » 14/09/18 20:13

CIiao,
riuscito è perfetto.
grazie mille
ciao
salatony
Utente Junior
 
Post: 68
Iscritto il: 08/11/13 21:16


Torna a Applicazioni Office Windows


Topic correlati a "RINOMINA FILE PDF MULTIPLI":


Chi c’è in linea

Visitano il forum: Nessuno e 57 ospiti