Nome cartella di lavoro VBA (ottieni, imposta, senza estensione)

Questo tutorial dimostrerà come ottenere e impostare il nome della cartella di lavoro in VBA.

Possiamo ottenere o impostare il nome della cartella di lavoro attiva in VBA o scorrere tutte le cartelle di lavoro aperte in Excel e ottenere o impostare il nome di ciascuna di esse utilizzando un ciclo VBA.

Ottieni nome cartella di lavoro

Per ottenere il nome della cartella di lavoro attiva, è necessario utilizzare la proprietà name dell'oggetto cartelle di lavoro.

12345 Sub GetWorkbookName()Dim strWBName As StringstrWBName = ActiveWorkbook.NameMsgBox strWBNameFine sottotitolo

Se dovessimo eseguire il codice sopra, vedremmo apparire una finestra di messaggio sullo schermo con il nome della cartella di lavoro attiva.

Per scorrere tutte le cartelle di lavoro attive e restituire i nomi delle cartelle di lavoro a Excel, possiamo eseguire il seguente codice:

1234567 Sub GetWorkbookNames()Dim wb come cartella di lavoroPer ogni wb nelle cartelle di lavoroActiveCell = wb.NameActiveCell.Offset(1, 0).SelezionaProssimoFine sottotitolo

Gli esempi sopra includeranno l'estensione del file (es. xlsx). Se non vuoi includere l'estensione, ci sono alcuni metodi che possiamo usare per ottenere solo il nome del file della cartella di lavoro.

Ottieni il nome della cartella di lavoro senza estensione

Possiamo usare le funzioni LEFT e INSTR per rimuovere qualsiasi carattere dopo il punto nel nome del file:

12345 Sub GetWorkbookName()Dim strWBName As StringstrWBName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameFine sottotitolo

Possiamo usare le funzioni LEFT e LEN per rimuovere 5 caratteri dalla fine del nome del file:

12345 Sub GetWorkbookName()Dim strWBName As StringstrWBName = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 55)MsgBox strWBNameFine sottotitolo

Impostazione del nome della cartella di lavoro

Per impostare il nome di una cartella di lavoro in VBA, utilizziamo ancora la proprietà Name della cartella di lavoro, tuttavia non possiamo utilizzare questo metodo per modificare il nome della cartella di lavoro attiva. Ciò è dovuto al fatto che la cartella di lavoro attiva è aperta e si verificherà un errore di accesso ai file. Per ovviare a questo, possiamo salvare il file con un nuovo nome e quindi eliminare il vecchio file.

12345678910 Public Sub SetWorkbookName()Dim strPath As StringDim strNewName As StringDim strOldName As StringstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Inserisci un nuovo nome per la cartella di lavoro")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNuovoNomeUccidi strPath & "/" & strOldNameFine sottotitolo

Per rinominare una cartella di lavoro che non è aperta, possiamo usare il metodo Name.

123 Public Sub RenameWorkbook()Nome "C:\Data\MyFile.xlsx" As "C:\Data\MyNewFile.xlsx"Fine sottotitolo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave