Μετάβαση στο κύριο περιεχόμενο

Πώς να αναγκάσετε τους χρήστες να αποθηκεύσουν ως βιβλίο εργασίας με δυνατότητα μακροεντολής;

Όταν αποθηκεύετε ένα βιβλίο εργασίας του Excel, θα αποθηκευτεί ως μορφή αρχείου xlsx από προεπιλογή και αυτή η μορφή αρχείου θα απαλλαγεί από τους κωδικούς μακροεντολών από το βιβλίο εργασίας εάν υπάρχουν πολλοί κωδικοί. Για να διατηρήσετε τους κωδικούς, θα πρέπει να αποθηκεύσετε το βιβλίο εργασίας ως μορφή Excel Work-Enable Workbook. Πώς μπορείτε να αναγκάσετε τους χρήστες να αποθηκεύσουν ως βιβλίο εργασίας με δυνατότητα μακροεντολής;

Αναγκάστε τους χρήστες να αποθηκεύσουν ως βιβλίο εργασίας με δυνατότητα μακροεντολής με κώδικα VBA


βέλος μπλε δεξιά φούσκα Αναγκάστε τους χρήστες να αποθηκεύσουν ως βιβλίο εργασίας με δυνατότητα μακροεντολής με κώδικα VBA

Για να αποθηκεύσετε το βιβλίο εργασίας ως βιβλίο εργασίας με δυνατότητα μακροεντολής από προεπιλογή, ο ακόλουθος κώδικας VBA μπορεί να σας βοηθήσει, κάντε το ως εξής:

1. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.

2. Στη συνέχεια, κάντε διπλό κλικ Αυτό το βιβλίο εργασίας σύμφωνα με το VBAProject ενότητα για να ανοίξετε μια νέα κενή λειτουργική μονάδα και, στη συνέχεια, αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα στη λειτουργική μονάδα:

Κωδικός VBA: Επιβάλλεται να αποθηκεύσετε το βιβλίο εργασίας ως βιβλίο εργασίας με δυνατότητα μακροεντολής από προεπιλογή:

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 force αποθήκευση ως xlsm 1

3. Στη συνέχεια, αποθηκεύστε και κλείστε αυτό το παράθυρο κώδικα, από τώρα και στο εξής, όταν οι χρήστες αποθηκεύουν ως αυτό το βιβλίο εργασίας, θα αποθηκευτούν ως Βιβλίο εργασίας Excel με δυνατότητα μακροεντολής μορφή από προεπιλογή όπως φαίνεται το ακόλουθο στιγμιότυπο οθόνης:

doc force αποθήκευση ως xlsm 2

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

🤖 Kutools AI Aide: Επανάσταση στην ανάλυση δεδομένων με βάση: Ευφυής Εκτέλεση   |  Δημιουργία κώδικα  |  Δημιουργία προσαρμοσμένων τύπων  |  Αναλύστε δεδομένα και δημιουργήστε γραφήματα  |  Επίκληση Λειτουργιών Kutools...
Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

Περιγραφή


Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
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