VBA-werkmapnaam (krijgen, instellen, zonder extensie)

Deze zelfstudie laat zien hoe u de naam van de werkmap in VBA kunt krijgen en instellen.

We kunnen de naam van de actieve werkmap in VBA ophalen of instellen, of alle geopende werkmappen in Excel doorlopen en de naam van elk van hen ophalen of instellen met behulp van een VBA-lus.

Werkmapnaam ophalen

Om de naam van de actieve werkmap te krijgen, moeten we de eigenschap name van het werkmapobject gebruiken.

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

Als we de bovenstaande code zouden uitvoeren, zouden we een berichtvenster op het scherm zien verschijnen met de naam van de actieve werkmap.

Om alle actieve werkmappen te doorlopen en de namen van de werkmappen terug te sturen naar Excel, kunnen we de volgende code uitvoeren:

1234567 Sub GetWorkbookNames()Dim wb als werkboekVoor elke wb In WerkmappenActiveCell = wb.NaamActiveCell.Offset(1, 0).SelecterenVolgendeEinde sub

De bovenstaande voorbeelden bevatten de extensie van het bestand (bijv. xlsx). Als u de extensie niet wilt opnemen, zijn er een paar methoden die we kunnen gebruiken om alleen de bestandsnaam van de werkmap te verkrijgen.

Werkmapnaam ophalen zonder extensie

We kunnen de LEFT- en INSTR-functies gebruiken om tekens na de punt in de bestandsnaam te verwijderen:

12345 Sub GetWorkbookName()Dim strWBName As StringstrWBName = Left(ActieveWerkboek.Naam, InStr(ActieveWerkboek.Naam, ".") - 1)MsgBox strWBNaamEinde sub

We kunnen de functies LEFT en LEN gebruiken om 5 tekens aan het einde van de bestandsnaam te verwijderen:

12345 Sub GetWorkbookName()Dim strWBName As StringstrWBName = Left(ActieveWerkboek.Naam, Len(ActieveWerkboek.Naam) - 55)MsgBox strWBNaamEinde sub

De naam van de werkmap instellen

Om de naam van een werkmap in VBA in te stellen, gebruiken we nog steeds de eigenschap Name van de werkmap, maar we kunnen deze methode niet gebruiken om de naam van de actieve werkmap te wijzigen. Dit komt doordat de actieve werkmap is geopend en er een bestandstoegangsfout optreedt. Om dit te verhelpen, kunnen we het bestand opslaan met een nieuwe naam en vervolgens het oude bestand verwijderen.

12345678910 Public Sub SetWorkbookName()Dim strPath As StringDim strNieuweNaam As StringDim strOldName As StringstrOldName = ActiveWorkbook.NamestrNewName = InputBox ("Voer een nieuwe naam in voor de werkmap")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameDood strPath & "/" & strOldNameEinde sub

Om de naam van een werkmap die niet is geopend te wijzigen, kunnen we de methode Naam gebruiken.

123 Public Sub RenameWorkbook()Naam "C:\Data\MijnBestand.xlsx" Als "C:\Data\MijnNieuweBestand.xlsx"Einde sub

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave