Ši pamoka parodys, kaip gauti ir nustatyti darbaknygės pavadinimą VBA.
Mes galime gauti arba nustatyti aktyvios darbaknygės pavadinimą VBA arba peržiūrėti visas atidarytas „Excel“ darbaknyges ir gauti arba nustatyti kiekvienos iš jų pavadinimą naudodami „VBA Loop“.
Gaukite darbaknygės pavadinimą
Norėdami gauti aktyvios darbaknygės pavadinimą, turime naudoti darbo knygų objekto pavadinimo ypatybę.
12345 | Antrinis „GetWorkbookName“ ()Dim strWBName As StringstrWBName = ActiveWorkbook.Name„MsgBox strWBName“Pabaiga Sub |
Jei paleistume aukščiau esantį kodą, ekrane pamatytume pranešimų laukelį su aktyvios darbaknygės pavadinimu.
Norėdami peržiūrėti visas aktyvias darbaknyges ir grąžinti darbaknygių pavadinimus į „Excel“, galime paleisti šį kodą:
1234567 | Antrinis „GetWorkbookNames“ ()Dim wb Kaip darbo knygaUž kiekvieną wb darbaknygėseActiveCell = wb.Pavadinimas„ActiveCell. Offset“ (1, 0). PasirinkiteKitasPabaiga Sub |
Į aukščiau pateiktus pavyzdžius bus įtrauktas failo plėtinys (pvz., Xlsx). Jei nenorite įtraukti plėtinio, galime naudoti kelis metodus, kad gautume tik darbaknygės failo pavadinimą.
Gaukite darbaknygės pavadinimą be plėtinio
Mes galime naudoti funkcijas LEFT ir INSTR, kad pašalintume bet kokius simbolius po taško failo pavadinime:
12345 | Antrinis „GetWorkbookName“ ()Dim strWBName As StringstrWBName = Kairė (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)„MsgBox strWBName“Pabaiga Sub |
Mes galime naudoti LEFT ir LEN funkcijas, kad pašalintume 5 simbolius iš failo pavadinimo pabaigos:
12345 | Antrinis „GetWorkbookName“ ()Dim strWBName As StringstrWBName = Kairė (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)„MsgBox strWBName“Pabaiga Sub |
Darbo knygos pavadinimo nustatymas
Norėdami nustatyti darbaknygės pavadinimą VBA, mes vis tiek naudojame darbaknygės ypatybę Pavadinimas, tačiau negalime naudoti šio metodo, kad pakeistume aktyvios darbaknygės pavadinimą. Taip yra dėl to, kad atidaryta aktyvi darbaknygė ir įvyks failo prieigos klaida. Norėdami tai išspręsti, galime išsaugoti failą nauju pavadinimu ir ištrinti seną failą.
12345678910 | Viešas poskyris Darbo knygos pavadinimas ()Dim strPath kaip eilutėDim strNewName As StringDim strOldName As StringstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Įveskite naują darbaknygės pavadinimą")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameNužudyti strPath & "/" & strOldNamePabaiga Sub |
Norėdami pervardyti neatidarytą darbaknygę, galime naudoti metodą Pavadinimas.
123 | Viešas antrinis pavadinimas Darbo knyga ()Pavadinkite „C: \ Data \ MyFile.xlsx“ kaip „C: \ Data \ MyNewFile.xlsx“Pabaiga Sub |