Note: The other languages of the website are Google-translated. Back to English

Hoe kan ik gebruikers dwingen om op te slaan als een werkmap met macro's?

Wanneer u een Excel-werkmap opslaat, wordt deze standaard opgeslagen als xlsx-bestandsindeling en met deze bestandsindeling worden de macrocodes uit de werkmap verwijderd als er meerdere codes zijn. Om de codes te behouden, moet u de werkmap opslaan als Excel Macro-Enable Workbook-indeling. Hoe kunt u gebruikers dwingen om op te slaan als een werkmap met macro's?

Dwing gebruikers om op te slaan als een macro-ingeschakelde werkmap met VBA-code


pijl blauw rechts bel Dwing gebruikers om op te slaan als een macro-ingeschakelde werkmap met VBA-code

Om de werkmap standaard op te slaan als een macro-geactiveerde werkmap, kan de volgende VBA-code u helpen, doe dit als volgt:

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Dubbelklik vervolgens Dit Werkboek onder de VBA-project sectie om een ​​nieuwe lege module te openen en kopieer en plak vervolgens de volgende code in de module:

VBA-code: Forceer om de werkmap standaard op te slaan als een werkmap met macro's:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Updateby Extendoffice
Dim xFileName As String
If SaveAsUI <> False Then
    Cancel = True
    xFileName = Application.GetSaveAsFilename(, "Excel Macro-Enabled Workbook (*.xlsm), *.xlsm", , "Save As xlsm file")
    If xFileName <> "False" Then
      Application.EnableEvents = False
      ActiveWorkbook.SaveAs Filename:=xFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
      Application.EnableEvents = True
    Else
      MsgBox "Action Cancelled"
      Cancel = True
      Exit Sub
    End If
End If
End Sub

doc forceer opslaan als xlsm 1

3. Sla vervolgens dit codevenster op en sluit het, vanaf nu, wanneer gebruikers opslaan als deze werkmap, wordt het opgeslagen als Excel-werkmap met ingeschakelde macro's formaat standaard zoals volgend screenshot getoond:

doc forceer opslaan als xlsm 2


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (11)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Dit was zo handig en werkte als een zonnetje, bedankt :)
Deze opmerking is gemaakt door de moderator op de site
Heeft me veel pijn bespaard - heel erg bedankt
Deze opmerking is gemaakt door de moderator op de site
Goed zo!

Scheelde me een hoop kopzorg! :)
Deze opmerking is gemaakt door de moderator op de site
Ik gebruik Excel 2016 voor Mac en wanneer ik deze VBA-code gebruik om de "force save as .xlsm" te bereiken, krijg ik de volgende foutmelding:

Runtime-fout '1004':

Methode 'GetSaveAsFilename' van object '_Application' is mislukt

Elke begeleiding die iemand zou kunnen geven rond deze fout en hoe ik de code mogelijk moet aanpassen om op de Mac-versie van Excel te werken, wordt zeer op prijs gesteld!
Deze opmerking is gemaakt door de moderator op de site
bestandsformaat: =52 is een leukere manier om een ​​werkmap met macro's te maken. bestandsformaat:=51 is een normale werkmap.
Deze opmerking is gemaakt door de moderator op de site
Blijf een 1004 FOUT krijgen.
Off365 2016 gebruiken voor MAC. Heb je een oplossing?
Deze opmerking is gemaakt door de moderator op de site
Hallo, Jonatan,
Deze code werkt goed in Windows Office, maar is niet getest in MAC.
U moet zoeken naar een code om in MAC te werken.
Dank je!
Deze opmerking is gemaakt door de moderator op de site
Elke manier om deze VBA in een sjabloonbestand te hebben
Deze opmerking is gemaakt door de moderator op de site
Is er een manier om deze VBA in een bestand te hebben dat een echt sjabloonbestandstype is?
Deze opmerking is gemaakt door de moderator op de site
Wanneer u klaar bent om de sjabloon te maken, geloof ik dat u het onmiddellijke venster moet gebruiken om te starten
ActiveWorkbook.SaveAs Filename:="VOER UW SJABLOONNAAM IN", FileFormat:=xlOpenXMLTemplateMacroEnabled
Deze opmerking is gemaakt door de moderator op de site
De VBA-code die de gebruiker dwingt om op te slaan in de bestandsindeling .xlsm werkt erg goed voor mij. Ik was al een tijdje op zoek naar deze oplossing. Hartelijk dank voor de hulp!
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL