Excel VBA Opslaan als

Als u een frequente gebruiker van Microsoft Excel bent, moet u de functie Opslaan als eronder hebben gebruikt, waarmee u de geopende werkmap met een andere naam of een ander formaat (Excel Macro-enabled, CSV, PDF, etc.) kunt opslaan. U kunt het bestand ook met deze methode in een andere map opslaan. Is het echter mogelijk om dezelfde functie te gebruiken onder VBA? Het antwoord is absoluut Ja! We hebben ook de functie Save As onder VBA, wat ons helpt om al deze bovengenoemde taken uit te voeren, samen met enkele extra voordelen (uiteraard is automatisering een van de voordelen). In dit artikel gaan we verschillende voorbeelden bekijken voor de functie VBA SAVE AS.

Formule voor de functie Opslaan als in Excel VBA

Laten we hieronder de formule voor de functie Opslaan als in VBA bekijken.

Waar,

  • Bestandsnaam - Naam van de werkmap die moet worden opgeslagen.
  • FileFormat - Bestandsindeling waarin het bestand moet worden opgeslagen (bijv. Pdf, CSV, enz.)
  • Wachtwoord - Wachtwoord om de werkmap te beschermen (de werkmap is niet toegankelijk zonder wachtwoord)
  • WriteResPassword - Schrijf reserveringswachtwoord voor de werkmap.
  • ReadOnlyRecommended - Herkent of de werkmap is opgeslagen in de indeling Alleen-lezen of niet.
  • CreateBackup - Bepaalt of een back-upbestand voor de werkmap wordt gemaakt of niet.
  • AccessMode - Herkent de toegangsmodus voor de werkmap.
  • ConflictResolution - Herkent de conflicten die verschijnen wanneer de werkmap wordt gedeeld en door meer dan één gebruiker wordt gebruikt.
  • AddToMru - Controleert of de werkmap is toegevoegd onder een recent gebruikt bestand of niet.
  • Lokaal - Controleert of de werkmap is opgeslagen met de wetten van Excel (lokale taal) of met VBA-wetten (VS - Engels).

Hush! Veel argumenten toch? Maar wat als ik u vertel, al deze argumenten zijn optioneel en kunnen worden overgeslagen tijdens het gebruik van de VBA SAVE AS-functie. Het is echter waar dat dit de argumenten zijn die VBA SaveAs flexibeler maken om te gebruiken. "Expressie" aan het begin van de syntaxis is niets anders dan een expressie waartegen deze functie kan worden gebruikt. Net als Werkboek is de uitdrukking waartegen SaveAs kan worden gebruikt.

Voorbeelden om Excel-bestanden op te slaan met de functie VBA Opslaan als

Hieronder staan ​​de verschillende voorbeelden om Excel-bestand op te slaan met de functie VBA Opslaan als.

U kunt deze VBA Opslaan als Excel-sjabloon hier downloaden - VBA Opslaan als Excel-sjabloon

Voorbeeld # 1 - Hoe een kopie van de werkmap met een andere naam op te slaan?

Laten we eens kijken hoe we de huidige werkmap met een andere naam kunnen opslaan.

Volg de onderstaande stappen om de functie Opslaan als te gebruiken in Excel VBA:

Stap 1: Voeg een nieuwe module toe onder Visual Basic Editor (VBE). Ga naar Invoegen en selecteer vervolgens Module.

Stap 2: Definieer een nieuwe subprocedure waarin een macro kan worden opgeslagen.

Code:

 Sub SaveAs_Ex1 () Einde Sub 

Stap 3: Definieer een nieuwe variabele die de naam kan bevatten waaronder het bestand moet worden opgeslagen.

Code:

 Sub SaveAs_Ex1 () Dim newName As String End Sub 

Stap 4: Gebruik nu de toewijzingsoperator om een ​​naam toe te kennen aan deze variabele met behulp van welk huidig ​​bestand kan worden opgeslagen als.

Code:

 Sub SaveAs_Ex1 () Dim newName As String newName = "Example1" End Sub 

Stap 5: Gebruik nu de SaveAs-functie met het argument Bestandsnaam om het bestand op te slaan zoals met de naam "Voorbeeld1".

Code:

 Sub SaveAs_Ex1 () Dim newName As String newName = "Example1" ActiveWorkbook.SaveAs Bestandsnaam: = newName End Sub 

Stap 6: Dit is het, voer deze code nu uit door op F5 te drukken of handmatig met de knop Uitvoeren en bekijk de uitvoer.

U kunt zien dat een bestand met de naam " Voorbeeld1 " wordt opgeslagen in Documenten .

Als u het had kunnen noteren, wordt het bestand opgeslagen als bestand met macro-invoer, omdat het originele bestand waarvoor ik de SaveAs-functie heb gebruikt, een bestand met macro-invoer is. Het betekent dat deze functie in VBA automatisch de bestandsindeling van het vorige bestand controleert en in dezelfde indeling opslaat. Ook wordt het bestand standaard opgeslagen in Documenten onder deze pc . Deze standaardlocatie kan expliciet worden opgegeven bij het definiëren van de bladnaam.

Voorbeeld # 2 - Werkmap opslaan met door de gebruiker verstrekte naam

Is het mogelijk om in plaats van eerst een naam te definiëren, een code te schrijven waarmee een gebruiker het werkblad kan opslaan onder de naam van zijn keuze, zoals de functie Excel Save As?

Volg de onderstaande stappen om de functie Opslaan als te gebruiken in Excel VBA.

Stap 1: Definieer een nieuwe subprocedure onder de nieuw ingevoegde module die de macro kan opslaan.

Code:

 Sub SaveAs_Ex2 () Einde Sub 

Stap 2: Definieer een nieuwe variabele die de waarde van de door de gebruiker gedefinieerde naam kan bevatten.

Code:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant End Sub 

De reden waarom deze variabele als Variant wordt gedefinieerd, is dat dit gegevenstype naamgevingsconventies veelzijdig maakt. Een gebruiker kan bijvoorbeeld een extra speciaal teken toevoegen (die zijn toegestaan ​​in naamgevingsconventies) of kan ook datums toevoegen onder de bestandsnaam.

Stap 3: Leg nu met behulp van een toewijzingsoperator en functiecombinatie genaamd applicatie.GetSaveAsFilename een verklaring af waarmee het systeem een ​​door de gebruiker gedefinieerde naam kan aannemen. Zie hoe het is bereikt in de onderstaande screenshot.

Code:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename End Sub 

Stap 4: Gebruik voorwaardelijke IF om te controleren of de naam die de gebruiker invoert geldig is volgens de naamgevingsconventies.

Code:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename If Spreadsheet_Name False Then End Sub 

Deze voorwaarde controleert of de naam die de gebruiker heeft opgegeven om het werkblad op te slaan, voldoet aan de naamgevingsconventies die zijn ingesteld voor het benoemen van een bestand of niet.

Stap 5: Schrijf een verklaring op die wordt geëvalueerd voor de gegeven ALS-voorwaarde.

Code:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename If Spreadsheet_Name False Then ActiveWorkbook.SaveAs Bestandsnaam: = Spreadsheet_Name End Sub 

Dit stuk code wordt geëvalueerd zodra de IF-voorwaarde waar is. Als dit het geval is, wordt de actieve werkmap opgeslagen onder de naam definiëren in variabele Spreadsheet_Name (die door de gebruiker wordt gedefinieerd)

Stap 6: Beëindig de IF-lus en voer deze code uit om de uitvoer te zien.

Code:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename If Spreadsheet_Name False Then ActiveWorkbook.SaveAs Bestandsnaam: = Spreadsheet_Name End If End Sub 

Stap 7: Zodra u deze code uitvoert, verschijnt het dialoogvenster Opslaan als waarin u de naam van uw keuze kunt typen en het bestand kunt opslaan.

Voorbeeld # 3 - Hoe als bestand opslaan in PDF met de Excel VBA SaveAs-functie?

Stel dat u gegevens hebt zoals hieronder vermeld in uw Excel-blad en dat u deze naar PDF moet converteren.

Volg de onderstaande stappen om dit bestand naar een PDF te converteren met de functie VBA opslaan als:

Stap 1: Definieer een nieuwe subprocedure om een ​​macro op te slaan.

Code:

 Sub SaveAs_PDF_Ex3 () Einde Sub 

Stap 2: Gebruik nu de volgende code om dit bestand als PDF-bestand op te slaan.

Code:

 Sub SaveAs_PDF_Ex3 () ActiveSheet.SaveAs Bestandsnaam: = "Vba Opslaan als.pdf" Einde Sub 

Stap 3: Voer deze code uit en u ziet een pdf-bestand gegenereerd onder Deze pc> Documenten.

In deze code kan ActiveSheet.SaveAs het bestand met dezelfde naam opslaan. Omdat we de extensie als .pdf aan het einde van het bestand hebben toegevoegd, wordt deze naar een PDF-bestand geëxporteerd. U kunt de bovenstaande afbeelding ter referentie zien.

Dingen om te onthouden

  • De standaard opslaglocatie voor het bestand dat wordt gebruikt onder VBA SaveAs is Deze pc> Documenten. U kunt de map echter handmatig opgeven bij het definiëren van de bestandsnaam.
  • Het bestand dat is opgeslagen met VBA SaveAs wordt standaard opgeslagen in dezelfde indeling als het oorspronkelijke bestand. Het kan echter ook per gebruikersvereiste worden gedefinieerd op het moment dat u de variabele definieert.

Aanbevolen artikelen

Dit is een gids voor VBA Save As. Hier bespreken we hoe het bestand kan worden opgeslagen met de Excel VBA-functie Opslaan als, samen met een voorbeeld en een downloadbare Excel-sjabloon. Hieronder staan ​​enkele nuttige Excel-artikelen met betrekking tot VBA -

  1. VBA Exit Sub
  2. Maak een spreadsheet in Excel
  3. VBA-object
  4. Excel automatisch opslaan

Categorie: