Ime delovnega zvezka VBA (Get, Set, without Extension)

Ta vadnica bo pokazala, kako pridobiti in nastaviti ime delovnega zvezka v VBA.

Lahko dobimo ali nastavimo ime aktivnega delovnega zvezka v VBA ali preletimo skozi vse odprte delovne zvezke v Excelu in dobimo ali nastavimo ime vsakega od njih z zanko VBA.

Pridobite ime delovnega zvezka

Če želimo dobiti ime aktivnega delovnega zvezka, moramo uporabiti lastnost ime predmeta delovnih zvezkov.

12345 Sub GetWorkbookName ()Dim strWBName As StringstrWBName = ActiveWorkbook.NameMsgBox strWBNameEnd Sub

Če bi zagnali zgornjo kodo, bi se na zaslonu prikazalo sporočilo z imenom aktivnega delovnega zvezka.

Če želite prečkati vse aktivne delovne zvezke in vrniti imena delovnih zvezkov v Excel, lahko zaženemo naslednjo kodo:

1234567 Sub GetWorkbookNames ()Dim wb Kot delovni zvezekZa vsako wb v delovnih zvezkihActiveCell = wb.NameActiveCell.Offset (1, 0) .IzberiNaslednjiEnd Sub

Zgornji primeri bodo vključevali razširitev datoteke (npr. Xlsx). Če razširitve ne želite vključiti, obstaja nekaj načinov, s katerimi lahko pridobimo samo ime datoteke delovnega zvezka.

Pridobite ime delovnega zvezka brez razširitve

S funkcijami LEFT in INSTR lahko odstranimo vse znake po piki v imenu datoteke:

12345 Sub GetWorkbookName ()Dim strWBName As StringstrWBName = Levo (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameEnd Sub

S funkcijami LEFT in LEN lahko odstranimo 5 znakov s konca imena datoteke:

12345 Sub GetWorkbookName ()Dim strWBName As StringstrWBName = Levo (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameEnd Sub

Nastavitev imena delovnega zvezka

Če želite nastaviti ime delovnega zvezka v VBA, še vedno uporabljamo lastnost Name delovnega zvezka, vendar s to metodo ne moremo spremeniti imena aktivnega delovnega zvezka. To je posledica dejstva, da je aktivni delovni zvezek odprt in bo prišlo do napake pri dostopu do datoteke. Da bi to premagali, lahko datoteko shranimo z novim imenom in nato izbrišemo staro datoteko.

12345678910 Javni podnaborWorkbookName ()Zatemni strPath kot nizZatemni strNewName As StringDim strOldName As StringstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Prosimo, vnesite novo ime za delovni zvezek")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameUbij strPath & "/" & strOldNameEnd Sub

Za preimenovanje delovnega zvezka, ki ni odprt, lahko uporabimo metodo Name.

123 Javni podimenuj delovni zvezek ()Poimenujte "C: \ Data \ MyFile.xlsx" Kot "C: \ Data \ MyNewFile.xlsx"End Sub

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave