VBA munkafüzet neve (Get, Set, kiterjesztés nélkül)

Ez az oktatóanyag bemutatja, hogyan szerezheti be és állíthatja be a munkafüzet nevét a VBA -ban.

Megkaphatjuk vagy beállíthatjuk az aktív munkafüzet nevét a VBA -ban, vagy végiglapozhatjuk az Excel összes nyitott munkafüzetét, és mindegyik nevét beolvashatjuk vagy beállíthatjuk egy VBA hurok segítségével.

Szerezd meg a munkafüzet nevét

Az aktív munkafüzet nevének lekéréséhez a munkafüzet -objektum name tulajdonságát kell használnunk.

12345 GetWorkbookName () alrészDim strWBName As StringstrWBName = ActiveWorkbook.NameMsgBox strWBNameEnd Sub

Ha futtatnánk a fenti kódot, egy üzenetdoboz jelenik meg a képernyőn az Active munkafüzet nevével.

Az összes aktív munkafüzet áttekintéséhez és a munkafüzetek nevének visszaállításához az Excel programhoz futtathatjuk a következő kódot:

1234567 Sub GetWorkbookNames ()Dim wb Mint munkafüzetMinden wb -hez a munkafüzetekbenActiveCell = wb.NameActiveCell.Offset (1, 0). Válassza kiKövetkezőEnd Sub

A fenti példák tartalmazzák a fájl kiterjesztését (pl. Xlsx). Ha nem kívánja beilleszteni a kiterjesztést, néhány módszerrel csak a munkafüzet fájlnevét kaphatjuk meg.

Szerezze be a munkafüzet nevét kiterjesztés nélkül

A BAL és az INSTR függvények segítségével eltávolíthatjuk a karaktereket a fájlnévben szereplő időszak után:

12345 GetWorkbookName () alrészDim strWBName As StringstrWBName = Bal (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameEnd Sub

A LEFT és LEN funkciók segítségével eltávolíthatunk 5 karaktert a fájlnév végéről:

12345 GetWorkbookName () alrészDim strWBName As StringstrWBName = Bal (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameEnd Sub

A munkafüzet nevének beállítása

A munkafüzet nevének beállításához a VBA -ban továbbra is a munkafüzet Név tulajdonságát használjuk, azonban ezzel a módszerrel nem módosíthatjuk az aktív munkafüzet nevét. Ennek oka az, hogy az Aktív munkafüzet nyitva van, és fájlhozzáférési hiba lép fel. Ennek kiküszöbölésére menthetjük a fájlt új névvel, majd törölhetjük a régi fájlt.

12345678910 Nyilvános alhalmaz MunkafüzetNév ()Dim strPath karakterlánckéntDim strNewName Mint StringDim strOldName Mint karakterláncstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Kérjük, adja meg a munkafüzet új nevét")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameÖld meg az strPath & "/" & strOldName nevetEnd Sub

A nem megnyitott munkafüzet átnevezéséhez használhatjuk a Név metódust.

123 Nyilvános alnevezés Munkafüzet ()A "C: \ Data \ MyFile.xlsx" név "C: \ Data \ MyNewFile.xlsx"End Sub

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave