Ovaj će vodič pokazati kako doći i postaviti naziv radne knjige u VBA.
Možemo dobiti ili postaviti naziv aktivne radne knjige u VBA -i ili proći kroz sve otvorene radne knjige u Excelu, te dobiti ili postaviti ime svake od njih pomoću VBA petlje.
Dobijte naziv radne knjige
Da bismo dobili naziv aktivne radne knjige, moramo koristiti svojstvo name objekta radnih knjiga.
12345 | Pod GetWorkbookName ()Dim strWBName As StringstrWBName = ActiveWorkbook.NameMsgBox strWBNameKraj podm |
Ako bismo pokrenuli gornji kôd, na ekranu bismo vidjeli okvir s porukom s imenom aktivne radne knjige.
Da bismo pregledali sve aktivne radne knjige i vratili nazive radnih knjiga u Excel, možemo pokrenuti sljedeći kod:
1234567 | Pod GetWorkbookNames ()Dim wb Kao radna bilježnicaZa svaku wb u radnim bilježnicamaActiveCell = wb.NameActiveCell.Offset (1, 0) .OdaberiteSljedećiKraj podm |
Gore navedeni primjeri uključivat će proširenje datoteke (npr. Xlsx). Ako ne želite uključiti proširenje, postoji nekoliko metoda koje možemo upotrijebiti za dobivanje samo naziva datoteke radne knjige.
Dobijte naziv radne knjige bez proširenja
Pomoću funkcija LEFT i INSTR možemo ukloniti sve znakove nakon točke u nazivu datoteke:
12345 | Pod GetWorkbookName ()Dim strWBName As StringstrWBName = Lijevo (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameKraj podm |
Pomoću funkcija LEFT i LEN možemo ukloniti 5 znakova s kraja naziva datoteke:
12345 | Pod GetWorkbookName ()Dim strWBName As StringstrWBName = Lijevo (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameKraj podm |
Postavljanje naziva radne knjige
Za postavljanje naziva radne knjige u VBA još uvijek koristimo svojstvo Name radne knjige, no ne možemo koristiti ovu metodu za promjenu naziva aktivne radne knjige. To je zbog činjenice da je aktivna radna knjiga otvorena i doći će do pogreške u pristupu datoteci. Da bismo to prevladali, možemo spremiti datoteku s novim imenom, a zatim izbrisati staru datoteku.
12345678910 | Javni podskupWorkbookName ()Zatamni strPath kao nizDim strNewName As StringDim strOldName As StringstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Molimo unesite novi naziv za radnu knjigu")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameUbijte strPath & "/" & strOldNameKraj podm |
Za preimenovanje radne knjige koja nije otvorena možemo upotrijebiti metodu Name.
123 | Javna podimenovana radna knjiga ()Naziv "C: \ Data \ MyFile.xlsx" Kao "C: \ Data \ MyNewFile.xlsx"Kraj podm |