See õpetus näitab, kuidas töövihiku nime VBA -s hankida ja määrata.
Võime hankida või määrata aktiivse töövihiku nime VBA -s või vaadata läbi kõik Exceli avatud töövihikud ning hankida või määrata igaühe nime VBA silmuse abil.
Hankige töövihiku nimi
Aktiivse töövihiku nime saamiseks peame kasutama töövihikute objekti nime atribuuti.
12345 | Sub GetWorkbookName ()Dim strWBName nagu stringstrWBName = Aktiivne töövihik. NimiMsgBox strWBNameEnd Sub |
Kui käivitaksime ülaltoodud koodi, näeksime ekraanil sõnumikast aktiivse töövihiku nimega.
Kõigi aktiivsete töövihikute sirvimiseks ja töövihikute nimede Excelisse tagastamiseks saame käivitada järgmise koodi:
1234567 | Alam GetWorkbookNames ()Dim wb TöövihikunaIga wb kohta töövihikutesActiveCell = wb.NameActiveCell. Offset (1, 0). ValigeEdasiEnd Sub |
Ülaltoodud näited hõlmavad faili laiendit (nt xlsx). Kui te ei soovi laiendit kaasata, on meil töövihiku failinime saamiseks mõned meetodid.
Hankige töövihiku nimi ilma laiendita
Funktsioonide LEFT ja INSTR abil saame failinimes pärast perioodi kõik märgid eemaldada:
12345 | Sub GetWorkbookName ()Dim strWBName nagu stringstrWBName = Vasak (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameEnd Sub |
Funktsioonide LEFT ja LEN abil saame failinime lõpust eemaldada 5 märki:
12345 | Sub GetWorkbookName ()Dim strWBName nagu stringstrWBName = Vasak (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameEnd Sub |
Töövihiku nime määramine
Töövihiku nime määramiseks VBA -s kasutame endiselt töövihiku atribuuti Nimi, kuid me ei saa seda meetodit kasutada aktiivse töövihiku nime muutmiseks. See on tingitud asjaolust, et aktiivne töövihik on avatud ja ilmneb failile juurdepääsu tõrge. Selle ületamiseks saame faili uue nimega salvestada ja seejärel vana faili kustutada.
12345678910 | Avalik alamkomplekt Töövihiku nimi ()Dim strPath kui stringDim strNewName nagu stringDim strOldName nagu stringstrOldName = Aktiivne töövihik. NimistrNewName = InputBox ("Palun sisestage töövihikule uus nimi")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameTapa strPath & "/" & strOldNameEnd Sub |
Avatud töövihiku ümbernimetamiseks saame kasutada meetodit Nimi.
123 | Avalik alamnimi Tööraamat ()Nimi "C: \ Data \ MyFile.xlsx" kui "C: \ Data \ MyNewFile.xlsx"End Sub |