Tämä opetusohjelma osoittaa, miten työkirjan nimi saadaan ja asetetaan VBA: ssa.
Voimme hakea tai asettaa aktiivisen työkirjan nimen VBA: ssa tai selata kaikkia avoimia työkirjoja Excelissä ja saada tai asettaa kunkin nimen käyttämällä VBA -silmukkaa.
Hae työkirjan nimi
Jotta saisimme aktiivisen työkirjan nimen, meidän on käytettävä työkirjaobjektin name -ominaisuutta.
12345 | Osa GetWorkbookName ()Dim strWBName As StringstrWBName = ActiveWorkbook.NameMsgBox strWBNameEnd Sub |
Jos ajaisimme yllä olevaa koodia, näkisimme ruudun, jossa näkyy aktiivisen työkirjan nimi.
Jos haluat selata kaikkia aktiivisia työkirjoja ja palauttaa työkirjojen nimet Exceliin, voimme suorittaa seuraavan koodin:
1234567 | Osa GetWorkbookNames ()Dim wb TyökirjanaJokaiselle wb: lle työkirjoissaActiveCell = wb.NameActiveCell.Offset (1, 0) ValitseSeuraavaEnd Sub |
Yllä olevat esimerkit sisältävät tiedoston laajennuksen (esim. Xlsx). Jos et halua sisällyttää laajennusta, voimme saada muutamia tapoja saada vain työkirjan tiedostonimen.
Hanki työkirjan nimi ilman laajennusta
Voimme käyttää VASEN- ja INSTR -toimintoja poistaaksemme kaikki merkit tiedostonimen pisteiden jälkeen:
12345 | Osa GetWorkbookName ()Dim strWBName As StringstrWBName = Vasen (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameEnd Sub |
Voimme käyttää LEFT- ja LEN -toimintoja poistaaksesi 5 merkkiä tiedostonimen lopusta:
12345 | Osa GetWorkbookName ()Dim strWBName As StringstrWBName = Vasen (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameEnd Sub |
Työkirjan nimen asettaminen
Työkirjan nimen asettamiseen VBA: ssa käytämme edelleen työkirjan Nimi -ominaisuutta, mutta emme voi käyttää tätä tapaa muuttaa aktiivisen työkirjan nimeä. Tämä johtuu siitä, että aktiivinen työkirja on auki ja tiedoston käyttövirhe ilmenee. Tämän ratkaisemiseksi voimme tallentaa tiedoston uudella nimellä ja poistaa sitten vanhan tiedoston.
12345678910 | Julkinen osajoukkoTyökirjaNimi ()Dim strPath merkkijononaDim strNewName As StringDim strOldName As StringstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Anna työkirjan uusi nimi")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameTapa strPath & "/" & strOldNameEnd Sub |
Jos haluat nimetä uudelleen avoimen työkirjan, voimme käyttää Nimi -menetelmää.
123 | Julkinen osa Nimeä uudelleenTyökirja ()Nimi "C: \ Data \ MyFile.xlsx" Kuten "C: \ Data \ MyNewFile.xlsx"End Sub |