Condividi:        

trovare nome fogli

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

trovare nome fogli

Postdi piter123 » 07/11/07 18:42

Salve, avrei questo tipo di problematica.

Tramite vb ho realizzato una macro che tramite un commndbuttom duplica il foglio attivo e mi permette di rinominarlo. Avrei bisogno però di verificare che il nuovo nome del file creato non sia già utilizzato su qualche altro foglio.
Come faccio a leggere i nomi di tutti i fogli presenti in modo tale poi da poter verificare tramite una serie di if di non utilizzare un nome già esistente, Grazie
piter123
Utente Senior
 
Post: 190
Iscritto il: 07/11/07 18:31

Sponsor
 

Postdi Anthony47 » 08/11/07 01:29

Ciao piter e benvenuto nel forum.
Ho l’ impressione che per “foglio” intendi il file completo (che invece dovrebbe essere una “cartella di lavoro” composto da N “fogli di lavoro”).
Se e’ cosi’ allora con questa macro cerchi nella directory a cui appartiene il file di partenza se ci sono gia’ file col nome simile a quello ipotizzato:

Codice: Seleziona tutto
Sub FileCerca()
'
'
TargetFileN = "pippo"     '<<<<in questa variabile il nome ipotizzato del file
SourceDir = ThisWorkbook.Path
Set fs = Application.FileSearch
With fs
    .LookIn = SourceDir
    .SearchSubFolders = False
    .Filename = TargetFileN & ".xls"
If .Execute() = 0 Then
    MsgBox "No files in " & SourceDir            '<<< Nessun file presente   <<<AAA
    Exit Sub
End If
End With
'Trovati file, verificare:
With fs
MsgBox "Ci sono " & .FoundFiles.Count & " file(s) found."    '<<<1
For i = 1 To .FoundFiles.Count
NomeFile = Replace(.FoundFiles(i), SourceDir & "\", "")   
MsgBox NomeFile                                                                  '<<<2
'Qui le istruzioni per confrontare il nome file predisposto  '<<< File trovati, verificare <<<BBB
'  con il nome corrente
Next i
End With

End Sub


Il nome ipotizzato va caricato nella variabile TargetFileN; se non ci sono file simili a quello in TargetFileN la macro esegue le istruzioni marcate <<<AAA, che dovrai modificare per adattarle alla tua necessita’; se invece ci sono file simili (es TargetFileN = “pippo”, trovati “pippolo.xls” e “superpippo.xls”) allora cadrai sulle istruzioni <<<BBB, sempre da adattare.
I MsgBox (<<<1 e <<<2) sono solo dimostrativi, li puoi togliere appena cominciano a dare fastidio.


Se invece intendevi proprio “foglio di lavoro di una cartella excel”, allora puoi adattare queste istruzioni, che restituiscono in ShNome uno dopo l’ altro i nomi di ognuno dei fogli di lavoro del file in questione:
Codice: Seleziona tutto
For I = 1 To ActiveWorkbook.Worksheets.Count
ShNome = Sheets(I).Name
'Qui le istruzioni per confrontare il nome foglio predisposto 
'  con il nome corrente
Next I


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

Postdi piter123 » 20/11/07 10:07

mille grazie, era la seconda di cui avevo bisogno.
piter123
Utente Senior
 
Post: 190
Iscritto il: 07/11/07 18:31


Torna a Applicazioni Office Windows


Topic correlati a "trovare nome fogli":


Chi c’è in linea

Visitano il forum: Nessuno e 17 ospiti