Názov zošita VBA (získať, nastaviť, bez rozšírenia)

Tento tutoriál vám ukáže, ako získať a nastaviť názov zošita vo VBA.

Môžeme získať alebo nastaviť názov aktívneho zošita vo VBA alebo prechádzať všetkými otvorenými zošitmi v programe Excel a získať alebo nastaviť názov každého z nich pomocou slučky VBA.

Získať názov zošita

Aby sme získali názov aktívneho zošita, musíme použiť vlastnosť name objektu zošitov.

12345 Sub GetWorkbookName ()Dim strWBName ako reťazecstrWBName = ActiveWorkbook.NameMsgBox strWBNameKoniec pod

Ak by sme spustili kód uvedený vyššie, na obrazovke by sa zobrazilo okno so správou s názvom Aktívny zošit.

Aby sme mohli prechádzať všetkými aktívnymi zošitmi a vracať názvy zošitov do Excelu, môžeme spustiť nasledujúci kód:

1234567 Sub GetWorkbookNames ()Dim wb ako zošitPre každý wb v zošitochActiveCell = wb.MenoActiveCell.Offset (1, 0). VyberteĎalšieKoniec pod

Vyššie uvedené príklady budú zahŕňať príponu súboru (napr. Xlsx). Ak nechcete zahrnúť príponu, existuje niekoľko metód, ktoré môžeme použiť na získanie iba názvu súboru zošita.

Získajte názov zošita bez rozšírenia

Na odstránenie akýchkoľvek znakov za bodkou v názve súboru môžeme použiť funkcie LEFT a INSTR:

12345 Sub GetWorkbookName ()Dim strWBName ako reťazecstrWBName = vľavo (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameKoniec pod

Na odstránenie 5 znakov z konca názvu súboru môžeme použiť funkcie LEFT a LEN:

12345 Sub GetWorkbookName ()Dim strWBName ako reťazecstrWBName = vľavo (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameKoniec pod

Nastavenie názvu zošita

Na nastavenie názvu zošita vo VBA stále používame vlastnosť zošita, ale túto metódu nemôžeme použiť na zmenu názvu aktívneho zošita. Dôvodom je skutočnosť, že aktívny zošit je otvorený a vyskytne sa chyba prístupu k súboru. Aby sme to prekonali, môžeme súbor uložiť s novým názvom a potom starý súbor odstrániť.

12345678910 Verejná podsúborNázov knihy ()Dim strPath ako reťazecDim strNewName ako reťazecDim strOldName ako reťazecstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Zadajte nový názov pre zošit")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameZabite strPath & "/" & strOldNameKoniec pod

Na premenovanie zošita, ktorý nie je otvorený, môžeme použiť metódu Name.

123 Verejná premenovaná pracovná kniha ()Názov "C: \ Data \ MyFile.xlsx" ako "C: \ Data \ MyNewFile.xlsx"Koniec pod

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave