Numele registrului de lucru VBA (Obțineți, setați, fără extensie)

Acest tutorial va arăta cum să obțineți și să setați numele registrului de lucru în VBA.

Putem obține sau seta numele registrului de lucru activ în VBA sau putem parcurge toate registrele de lucru deschise în Excel și putem obține sau seta numele fiecăruia dintre ele folosind un buclă VBA.

Obțineți numele registrului de lucru

Pentru a obține numele registrului de lucru activ, trebuie să folosim proprietatea nume a obiectului de registru de lucru.

12345 Sub GetWorkbookName ()Dim strWBName As StringstrWBName = ActiveWorkbook.NameMsgBox strWBNameSfârșitul Sub

Dacă ar fi să rulăm codul de mai sus, am vedea o casetă de mesaj care apare pe ecran cu numele registrului de lucru activ.

Pentru a parcurge toate registrele de lucru active și a returna numele registrelor de lucru în Excel, putem rula următorul cod:

1234567 Sub GetWorkbookNames ()Dim wb Ca registru de lucruPentru fiecare wb din registrele de lucruActiveCell = wb.NameActiveCell.Offset (1, 0). SelectațiUrmătorulSfârșitul Sub

Exemplele de mai sus vor include extensia fișierului (de exemplu, xlsx). Dacă nu doriți să includeți extensia, există câteva metode pe care le putem folosi pentru a obține doar numele fișierului din registrul de lucru.

Obțineți numele registrului de lucru fără extensie

Putem folosi funcțiile LEFT și INSTR pentru a elimina orice caractere după perioada din numele fișierului:

12345 Sub GetWorkbookName ()Dim strWBName As StringstrWBName = Stânga (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameSfârșitul Sub

Putem folosi funcțiile LEFT și LEN pentru a elimina 5 caractere de la sfârșitul numelui fișierului:

12345 Sub GetWorkbookName ()Dim strWBName As StringstrWBName = Stânga (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameSfârșitul Sub

Setarea numelui registrului de lucru

Pentru a seta numele unui registru de lucru în VBA, folosim în continuare proprietatea Name a registrului de lucru, totuși nu putem folosi această metodă pentru a schimba numele registrului de lucru activ. Acest lucru se datorează faptului că registrul de lucru activ este deschis și va apărea o eroare de acces la fișier. Pentru a depăși acest lucru, putem salva fișierul cu un nume nou și apoi șterge fișierul vechi.

12345678910 Public Sub SetWorkbookName ()Dim strPath As StringDim strNewName As StringDim strOldName As StringstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Vă rugăm să introduceți un nume nou pentru registrul de lucru")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameOmoară strPath & "/" & strOldNameSfârșitul Sub

Pentru a redenumi un registru de lucru care nu este deschis, putem folosi metoda Name.

123 Public Sub RenameWorkbook ()Denumiți „C: \ Data \ MyFile.xlsx” Ca „C: \ Data \ MyNewFile.xlsx”Sfârșitul Sub
wave wave wave wave wave