Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Modifica macro per word

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

Modifica macro per word

Postdi carlito57 » 17/01/13 17:39

Ciao... ho bisogno di un aiuto.
Ho questa macro che mi permette di modificare dei file .RTF in file .DOC.
Il problema è che sono obbligato a numerare TUTTI i file da 00000001.rtf a 00000XXX.rtf in perfetto ordine (con un max di 300 file, che posso anche facilmente modificare).
Se avessi dei file mancanti mi si blocca la macro. Se, per esempio, cancello il file 00000002.rtf, si ferma immediatamente e mi dà errore.
Come faccio a far leggere tutti i file presenti dentro la cartella ... anche se qualcuno non segue esattamente la progressione numerica?
Grazie
Carlo
================================================
Sub CicloConversione()

Dim nomefiledaaprire, nomefiledasalvare, lunghezza As String
Dim progressivo As Integer

progressivo = 0

For P = 1 To 300

progressivo = progressivo + 1

lunghezza = "00000000" & progressivo

nomefiledaaprire = Right(lunghezza, 8 ) & ".rtf"

nomefiledasalvare = Right(lunghezza, 8 ) & ".doc"



ChangeFileOpenDirectory "C:\cruciver"

Documents.Open FileName:=nomefiledaaprire, ConfirmConversions:=False, ReadOnly _
:=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate _
:="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="" _
, Format:=wdOpenFormatAuto, XMLTransform:=""


ActiveDocument.SaveAs FileName:=nomefiledasalvare, FileFormat:= _
wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _
True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False

ActiveWindow.Close

Next P


End Sub
carlito57
Utente Junior
 
Post: 22
Iscritto il: 17/01/13 17:32

Sponsor
 

Re: Modifica macro per word

Postdi Flash30005 » 17/01/13 17:56

Ciao Carlito57 e benvenuto nel Forum

Puoi usare la funzione on error e inserirla come indicato
Codice: Seleziona tutto
Sub CicloConversione()

 Dim nomefiledaaprire, nomefiledasalvare, lunghezza As String
 Dim progressivo As Integer

 progressivo = 0

 For P = 1 To 300
ON error goto 0

 progressivo = progressivo + 1

 lunghezza = "00000000" & progressivo

 nomefiledaaprire = Right(lunghezza, 8 ) & ".rtf"

 nomefiledasalvare = Right(lunghezza, 8 ) & ".doc"



 ChangeFileOpenDirectory "C:\cruciver"
ON error goto Errore

 Documents.Open FileName:=nomefiledaaprire, ConfirmConversions:=False, ReadOnly _
 :=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate _
 :="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="" _
 , Format:=wdOpenFormatAuto, XMLTransform:=""


 ActiveDocument.SaveAs FileName:=nomefiledasalvare, FileFormat:= _
 wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _
 True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
 False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
 SaveAsAOCELetter:=False

 ActiveWindow.Close
Errore:
 Next P

ON error goto 0

End Sub


Nel caso non trovasse il file, prosegue nella conversione degli altri


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Modifica macro per word

Postdi carlito57 » 18/01/13 09:30

Ciao e grazie per il benvenuto! E' un forum che ho scoperto da poco ed è molto utile!

Ho provato ad usare la macro che mi hai indicato: va bene se il "salto" di file è solo uno... altrimenti si blocca ugualmente. Mi spiego meglio.

Se dopo 00000001.rtf trova 00000003.rtf, va bene ma se invece trova 00000004.rtf si blocca.

Ti ringrazio in anticipo per l'aiuto
Carlo
carlito57
Utente Junior
 
Post: 22
Iscritto il: 17/01/13 17:32

Re: Modifica macro per word

Postdi Flash30005 » 18/01/13 10:39

C'è qualcosa che non mi torna

Il salto lo fa solo se non trova il file non se da 00000001 passa a 00000004
in pratica se ci sono tutti i file il salto non avviene sia che siano messi in ordine alfabetico che non
la macro non va a vedere come sono ordinati i file ma andava in errore se non esistevano.

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Modifica macro per word

Postdi Anthony47 » 18/01/13 10:47

La routine di errore deve prevedere un "Resume"...

Volendo usare la stessa struttura va quindi articolata diversamente la gestione errori; sostituisci Errore: / Next P con
Codice: Seleziona tutto
Errore:
'Niente
Resume Nextp
Stop
Nextp:
 Next P

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Modifica macro per word

Postdi carlito57 » 18/01/13 10:54

Adesso funziona perfettamente!!!

GRAZIE!!!!! :)
carlito57
Utente Junior
 
Post: 22
Iscritto il: 17/01/13 17:32


Torna a Applicazioni Office Windows


Topic correlati a "Modifica macro per word":


Chi c’è in linea

Visitano il forum: Nessuno e 15 ospiti