Preskoči na glavno vsebino

Kako prisiliti uporabnike, da shranijo kot delovni zvezek z omogočenim makrom?

Ko shranite Excelov delovni zvezek, bo privzeto shranjen kot oblika datoteke xlsx in ta oblika datoteke se bo znebila kod makrov iz delovnega zvezka, če je kod več. Če želite obdržati kode, shranite delovni zvezek v obliki zapisa Excel Macro-Enable Workbook. Kako bi lahko prisilili uporabnike, da shranijo kot delovni zvezek z omogočeno makro?

Prisilite uporabnike, da shranijo kot delovni zvezek z omogočeno makro s kodo VBA


puščica modri desni mehurček Prisilite uporabnike, da shranijo kot delovni zvezek z omogočeno makro s kodo VBA

Če želite delovni zvezek privzeto shraniti kot delovni zvezek z omogočeno makro, vam bo morda v pomoč naslednja koda VBA, naredite naslednje:

1. Držite tipko ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Nato dvokliknite Ta delovni zvezek pod VBAProject , da odprete nov prazen modul, nato pa v modul kopirajte in prilepite naslednjo kodo:

Koda VBA: prisilno shranite delovni zvezek kot delovni zvezek z omogočeno makro:

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 sila shrani kot xlsm 1

3. Nato shranite in zaprite to okensko okno, od zdaj naprej, ko bodo uporabniki shranili kot ta delovni zvezek, bo shranjen kot Excelov delovni zvezek z omogočeno makro format privzeto, kot je prikazano na sliki spodaj:

doc sila shrani kot xlsm 2

Najboljša pisarniška orodja za produktivnost

Priljubljene funkcije: Poiščite, označite ali identificirajte dvojnike   |  Izbriši prazne vrstice   |  Združite stolpce ali celice brez izgube podatkov   |   Krog brez formule ...
Super iskanje: Več kriterijev VLookup    Multiple Value VLookup  |   VLookup na več listih   |   Nejasno iskanje ....
Napredni spustni seznam: Hitro ustvarite spustni seznam   |  Odvisni spustni seznam   |  Večkrat izberite spustni seznam ....
Upravitelj stolpcev: Dodajte določeno število stolpcev  |  Premakni stolpce  |  Preklop stanja vidnosti skritih stolpcev  |  Primerjaj obsege in stolpce ...
Predstavljene funkcije: Mrežni fokus   |  Pogled oblikovanja   |   Velika vrstica formule    Upravitelj delovnih zvezkov in listov   |  Knjižnica virov (Samodejno besedilo)   |  Izbirnik datuma   |  Združite delovne liste   |  Šifriranje/dešifriranje celic    Pošljite e-pošto po seznamu   |  Super filter   |   Poseben filter (filter krepko/ležeče/prečrtano ...) ...
15 najboljših kompletov orodij12 Besedilo Orodja (dodajanje besedila, Odstrani znake,...)   |   50 + Graf Vrste (Gantt Chart,...)   |   40+ Praktično Formule (Izračunajte starost glede na rojstni dan,...)   |   19 vstavljanje Orodja (Vstavite kodo QR, Vstavi sliko s poti,...)   |   12 Pretvorba Orodja (Številke v besede, Pretvorba valut,...)   |   7 Spoji in razdeli Orodja (Napredne kombinirane vrstice, Razdeljene celice,...)   |   ... in več

Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa.  Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...

zavihek kte 201905


Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
Comments (11)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
The VBA code forcing user to save in .xlsm file format works very well for me. I was looking for this solution for quite some time. Many thanks for the help!
This comment was minimized by the moderator on the site
Any way to have this VBA in a file that is a true template file type?
This comment was minimized by the moderator on the site
When you are ready to create the template, I believe you must use the Immediate Window to run
ActiveWorkbook.SaveAs Filename:="ENTER YOUR TEMPLATE NAME", FileFormat:=xlOpenXMLTemplateMacroEnabled
This comment was minimized by the moderator on the site
Any way to have this VBA in a template file
This comment was minimized by the moderator on the site
Keep getting a 1004 ERROR.
Using Off365 2016 for MAC. Got a solutions?
This comment was minimized by the moderator on the site
Hello, Jonathan,
This code works well in Windows Office, but it not tested in MAC.
You should search for a code for working in MAC.
Thank you!
This comment was minimized by the moderator on the site
fileformat: =52 is a nicer was as making macro enabled workbook. fileformat:=51 is normal workbook.
This comment was minimized by the moderator on the site
I'm using Excel 2016 for Mac, and when I use this VBA code to achieve the "force save as .xlsm" I get the following error:

Run-time error '1004':

Method 'GetSaveAsFilename' of object '_Application' failed

Any guidance someone could provide around this error and how I may need to adjust the code to work on the Mac version of Excel would be greatly appreciated!
This comment was minimized by the moderator on the site
Nice one!

Saved me a lot of headache! :)
This comment was minimized by the moderator on the site
Saved me a lot of pain - thanks so much
This comment was minimized by the moderator on the site
This was so useful and worked like a charm thank you :)
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations