VBA -projektmappens navn (Get, Set, uden udvidelse)

Denne vejledning viser, hvordan du får og indstiller projektmappens navn i VBA.

Vi kan hente eller indstille navnet på den aktive projektmappe i VBA eller gennemgå alle de åbne projektmapper i Excel og få eller indstille navnet på hver af dem ved hjælp af en VBA Loop.

Hent projektmappens navn

For at få navnet på den aktive projektmappe skal vi bruge egenskaben navne på projektmapperobjektet.

12345 Sub GetWorkbookName ()Dim strWBName som strengstrWBName = ActiveWorkbook.NameMsgBox strWBNameAfslut Sub

Hvis vi skulle køre koden ovenfor, ville vi se en meddelelsesboks vises på skærmen med navnet på den aktive projektmappe.

For at gennemgå alle de aktive projektmapper og returnere navnene på projektmapperne til Excel kan vi køre følgende kode:

1234567 Sub GetWorkbookNames ()Dim wb Som projektmappeFor hver wb i projektmapperActiveCell = wb.NameActiveCell.Offset (1, 0) .VælgNæsteAfslut Sub

Eksemplerne ovenfor vil omfatte filtypen (f.eks. Xlsx). Hvis du ikke vil inkludere udvidelsen, er der et par metoder, vi kan bruge til kun at få filnavnet på projektmappen.

Få navn på projektmappe uden udvidelse

Vi kan bruge funktionerne VENSTRE og INSTR til at fjerne tegn efter perioden i filnavnet:

12345 Sub GetWorkbookName ()Dim strWBName som strengstrWBName = Venstre (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameAfslut Sub

Vi kan bruge funktionerne VENSTRE og LEN til at fjerne 5 tegn fra slutningen af ​​filnavnet:

12345 Sub GetWorkbookName ()Dim strWBName som strengstrWBName = Venstre (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameAfslut Sub

Indstilling af projektmappens navn

For at angive navnet på en projektmappe i VBA bruger vi stadig egenskaben Navn i projektmappen, men vi kan ikke bruge denne metode til at ændre navnet på den aktive projektmappe. Dette skyldes, at den aktive projektmappe er åben, og der vil opstå en filadgangsfejl. For at overvinde dette kan vi gemme filen med et nyt navn og derefter slette den gamle fil.

12345678910 Public Sub SetWorkbookName ()Dim strPath som strengDim strNewName As StringDim strOldName som strengstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Angiv nyt navn til projektmappe")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameDræb strPath & "/" & strOldNameAfslut Sub

For at omdøbe en projektmappe, der ikke er åben, kan vi bruge metoden Navn.

123 Public Sub RenameWorkbook ()Navn "C: \ Data \ MyFile.xlsx" Som "C: \ Data \ MyNewFile.xlsx"Afslut Sub

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave