Název sešitu VBA (získat, nastavit, bez rozšíření)

Tento tutoriál předvede, jak získat a nastavit název sešitu ve VBA.

Můžeme získat nebo nastavit název aktivního sešitu ve VBA, nebo procházet všechny otevřené sešity v Excelu a získat nebo nastavit název každého z nich pomocí smyčky VBA.

Získejte název sešitu

Abychom získali název aktivního sešitu, musíme použít vlastnost name objektu sešitů.

12345 Sub GetWorkbookName ()Dim strWBName jako řetězecstrWBName = ActiveWorkbook.NameMsgBox strWBNameEnd Sub

Pokud bychom spustili výše uvedený kód, viděli bychom na obrazovce okno se zprávou s názvem aktivního sešitu.

Chcete -li procházet všemi aktivními sešity a vracet názvy sešitů do Excelu, můžeme spustit následující kód:

1234567 Sub GetWorkbookNames ()Dim wb jako sešitPro každý wb v sešitechActiveCell = wb.NameActiveCell.Offset (1, 0). VybertedalšíEnd Sub

Výše uvedené příklady budou zahrnovat příponu souboru (např. Xlsx). Pokud rozšíření nechcete zahrnout, existuje několik metod, které můžeme použít k získání pouze názvu souboru sešitu.

Získejte název sešitu bez rozšíření

K odstranění jakýchkoli znaků za tečkou v názvu souboru můžeme použít funkce DOLEVA a INSTR:

12345 Sub GetWorkbookName ()Dim strWBName jako řetězecstrWBName = Vlevo (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameEnd Sub

K odstranění 5 znaků z konce názvu souboru můžeme použít funkce DOLEVA a DÉLKA:

12345 Sub GetWorkbookName ()Dim strWBName jako řetězecstrWBName = vlevo (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameEnd Sub

Nastavení názvu sešitu

Chcete -li nastavit název sešitu ve VBA, stále používáme vlastnost Název sešitu, tuto metodu však nemůžeme použít ke změně názvu aktivního sešitu. Důvodem je skutečnost, že aktivní sešit je otevřený a dojde k chybě přístupu k souboru. Abychom to překonali, můžeme soubor uložit pod novým názvem a poté starý soubor odstranit.

12345678910 Veřejná podsada SetWorkbookName ()Dim strPath jako řetězecDim strNewName jako řetězecDim strOldName jako řetězecstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Zadejte nový název sešitu")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameZabijte strPath & "/" & strOldNameEnd Sub

K přejmenování sešitu, který není otevřený, můžeme použít metodu Name.

123 Veřejná dílčí přejmenovávaná pracovní kniha ()Název "C: \ Data \ MyFile.xlsx" jako "C: \ Data \ MyNewFile.xlsx"End Sub

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave