Šī apmācība parādīs, kā iegūt un iestatīt darbgrāmatas nosaukumu VBA.
Mēs varam iegūt vai iestatīt aktīvās darbgrāmatas nosaukumu VBA vai apskatīt visas atvērtās darbgrāmatas programmā Excel un iegūt vai iestatīt katras no tām nosaukumu, izmantojot VBA cilpu.
Iegūstiet darbgrāmatas nosaukumu
Lai iegūtu aktīvās darbgrāmatas nosaukumu, mums jāizmanto darbgrāmatu objekta nosaukuma rekvizīts.
12345 | Apakš GetWorkbookName ()Dim strWBName As StringstrWBName = ActiveWorkbook.NameMsgBox strWBNameBeigu apakš |
Ja mēs izpildītu iepriekš minēto kodu, ekrānā tiktu parādīts ziņojumu lodziņš ar aktīvās darbgrāmatas nosaukumu.
Lai apskatītu visas aktīvās darbgrāmatas un atgrieztu darbgrāmatu nosaukumus programmā Excel, mēs varam palaist šādu kodu:
1234567 | Apakš GetWorkbookNames ()Dim wb kā darbgrāmataPar katru wb darbgrāmatāsActiveCell = wb.NameActiveCell. Offset (1, 0). AtlasietNākamaisBeigu apakš |
Iepriekš minētie piemēri ietvers faila paplašinājumu (piemēram, xlsx). Ja nevēlaties iekļaut paplašinājumu, varat izmantot dažas metodes, lai iegūtu tikai darbgrāmatas faila nosaukumu.
Iegūstiet darbgrāmatas nosaukumu bez paplašinājuma
Mēs varam izmantot LEFT un INSTR funkcijas, lai noņemtu visas rakstzīmes pēc faila nosaukumā norādītā perioda:
12345 | Apakš GetWorkbookName ()Dim strWBName As StringstrWBName = Pa kreisi (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameBeigu apakš |
Mēs varam izmantot LEFT un LEN funkcijas, lai no faila nosaukuma beigām noņemtu 5 rakstzīmes:
12345 | Apakš GetWorkbookName ()Dim strWBName As StringstrWBName = Pa kreisi (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameBeigu apakš |
Darbgrāmatas nosaukuma iestatīšana
Lai iestatītu darbgrāmatas nosaukumu VBA, mēs joprojām izmantojam darbgrāmatas rekvizītu Nosaukums, tomēr mēs nevaram izmantot šo metodi, lai mainītu aktīvās darbgrāmatas nosaukumu. Tas ir saistīts ar faktu, ka aktīvā darbgrāmata ir atvērta un rodas kļūdas piekļūt failam. Lai to novērstu, mēs varam saglabāt failu ar jaunu nosaukumu un pēc tam izdzēst veco failu.
12345678910 | Publiskā apakškopa Darba grāmatas nosaukums ()Dim strPath kā virkneDim strNewName As StringDim strOldName As StringstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Lūdzu, ievadiet jaunu darbgrāmatas nosaukumu")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameNogalināt strPath & "/" & strOldNameBeigu apakš |
Lai pārdēvētu atvērtu darbgrāmatu, mēs varam izmantot metodi Name.
123 | Publiskais apakšnosaukums Darba grāmata ()Nosaukums "C: \ Data \ MyFile.xlsx" kā "C: \ Data \ MyNewFile.xlsx"Beigu apakš |