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

Cum se dezactivează sau nu se acceptă opțiunile Salvare și Salvare ca în Excel?

În mod normal, când facem clic pe funcția Salvare sau Salvare ca, datele noastre modificate din registrul de lucru vor fi salvate simultan. Dar, uneori, fișierul Excel nu poate fi modificat și salvat de alți utilizatori atunci când citesc fișierul. Acest articol oferă metoda VBA pentru a dezactiva opțiunile Salvare și salvare ca în Excel.

Dezactivați opțiunile Save & Save As cu codul VBA


Dezactivați opțiunile Save & Save As cu codul VBA

Puteți rula codul VBA de mai jos pentru a dezactiva opțiunile Salvare și Salvare ca în Excel.

1. În registrul de lucru trebuie să dezactivați funcțiile Save & Save As, apăsați Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În Microsoft Visual Basic pentru aplicații fereastră, faceți dublu clic Acest manual de lucru în bara din stânga, copiați și lipiți VBA 1 de mai jos în fereastra Cod, apoi faceți clic pe Economisiți buton. Vedeți captura de ecran:

VBA 1: dezactivați opțiunile Salvare și Salvare ca în Excel

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ThisWorkbook.Saved = True
End Sub

3. În deschidere Salvare ca fereastra, selectați un folder pentru a salva registrul de lucru, denumiți registrul de lucru după cum aveți nevoie și selectați Cartea de lucru Excel Macro-Enabled de la Salvați ca tip lista derulantă și apoi faceți clic pe Economisiți butonul.

4. Acum copiați și lipiți VBA 2 de mai jos în Acest manual de lucru fereastra de cod. Vezi captura de ecran.

VBA 2: dezactivați opțiunile Salvare și Salvare ca în Excel

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim xName As String
xName = "CancelBeforeSave"

If Not Evaluate("=ISREF('" & xName & "'!A1)") Then
    Sheets.Add(after:=Worksheets(Worksheets.count)).Name = xName & ""
    Sheets(xName & "").Move after:=Worksheets(Worksheets.count)
    Sheets(xName & "").Visible = False
    Exit Sub
End If
    Cancel = True
End Sub

5. Faceți clic pe Economisiți pentru a salva codul, apoi închideți registrul de lucru.

Registrul de lucru a fost salvat ca un registru de lucru Excel Macro-Enabled cu Economisiți și Salvare ca funcții dezactivate.

notițe: Se pare că modificările sunt salvate în foaia de lucru curentă de fiecare dată când modificați și salvați registrul de lucru. Dar după închiderea și redeschiderea registrului de lucru, veți găsi că modificările nu au fost salvate.


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (27)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
asta nu merge. Nu pot salva codul, a dispărut odată ce redeschid fișierul. Cum salvez codul?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă tricou,
Vă mulțumesc pentru întrebarea dvs. Articolul este actualizat pentru a permite salvarea codului în registrul de lucru acum.
Acest comentariu a fost redus la minimum de moderatorul de pe site
dragă
articolul nu este actualizat. nu merge
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut Jen,
Articolul a fost actualizat din nou cu rezolvarea problemei. Vă rugăm să încercați. Multumesc pentru comentariu.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Actualizarea codului adaugă o foaie, dar nu verifică niciodată dacă există o valoare TRUE/FALSE în acea foaie. Actualizarea nu remediază nimic, doar creează o foaie inutilă în registrul de lucru.

Cred că ați uitat să verificați dacă există o valoare TRUE/FALSE pe acea foaie.
Acest comentariu a fost redus la minimum de moderatorul de pe site
După cum a postat TEE, cum salvăm fișierul cu macrocomandă? Nu este acolo când redeschid. De asemenea, primesc acum o eroare pe bitul ThisWorkbookSaved = True.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă Les,
Vă mulțumesc pentru întrebarea dvs. Articolul este actualizat pentru a permite salvarea codului în registrul de lucru acum.
Acest comentariu a fost redus la minimum de moderatorul de pe site
După cum au postat TEE și LES, cum salvăm fișierul cu macrocomanda?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Vă mulțumesc pentru întrebarea dvs. Articolul este actualizat pentru a permite salvarea codului în registrul de lucru acum.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Doar pentru a ajuta pe oricine altcineva citește acest articol și caută ajutor cu suprimarea butonului de salvare, m-am gândit să plasez răspunsul aici, deoarece „Crystal” nu pare să răspundă la întrebare...


Dacă plasați registrul de lucru în „Modul de proiectare” și apoi apăsați SALVARE, ar trebui să funcționeze.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragă Rogue,
Mi-e dor de rostul problemei. Vă mulțumesc mult pentru ajutor și împărtășire.

Salutari
Acest comentariu a fost redus la minimum de moderatorul de pe site
Continui să primesc o eroare de depanare
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,
Ce versiune de Excel folosești?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, sunt un fan al acestui site...Obișnuiam să încerc codul. Functioneaza impecabil. Dar dezactivează și „opțiunea de salvare”. Nu pot salva foaia Excel. Ceea ce am nevoie este să dezactivez doar funcția „Salvare ca”. Am citit și comentariile celorlalți utilizatori. ThisWorkbookSaved = True nu funcționează nici pentru mine. Ai putea te rog ajuta? Mulțumesc mult pentru toate contribuțiile tale.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă rog, nu vreau ca cineva să copieze sau să salveze fișierul meu Excel, cum pot elimina salvarea sau salvarea ca?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am încercat să folosesc codul pentru NU SALVEZ fișierul. Dar nu a mers. Salvează fișierul.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Multumesc pentru raspuns. Foarte apreciat. Vreau să mă îndrumați cum să trimit un fișier salvat unui prieten care poate să-mi deschidă fișierul, dar să-l citească sau să îl editeze, dar nu poate salva fișierul în niciun folder.
1. De exemplu, am un fișier salvat, pe care vreau să-l trimit la „A” El deschide fișierul salvat, dar după deschidere citește sau face orice modificări în fișierul meu, nu îl poate salva la capătul său în niciun folder.
2. Am un cod pe internet care nu permite salvarea. Dar în acest caz când copiez și lipesc codul, fișierul nu se salvează. Deci nu pot să-i trimit dosarul
3. Cum pot trimite fișierul către partea „A” cu un cod salvat în speranța că nu poate salva fișierul.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Sclipitor !   
Acest comentariu a fost redus la minimum de moderatorul de pe site
Pentru toți cei care au întâmpinat eroarea în care, după ce au făcut asta o dată, când încearcă să o facă din nou, codul nu se va salva:

Mergeți în partea de jos a fișierului Excel, unde arată foile
Faceți clic dreapta pe foi
Apăsați pe Unhide
Ștergeți foaia numită CancelBeforeSave
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Mulțumesc foarte mult, este exact ceea ce am nevoie, pentru a împiedica pe alții să salveze sau să salveze ca fișier în orice locație și funcționează pentru mine, datorită comentariului despre „Modul Design”.

Cu toate acestea, încă trebuie să pot face modificări periodice în fișier și să salvez modificările. Trebuie să șterg mai întâi codul VBA, să fac modificările, să salvez și apoi să adaug codul VBA din nou pentru a împiedica alții să salveze? Sau există o modalitate mai simplă de a face modificări și de a salva, lăsând intact codul VBA?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Rochelley,
Multumim pentru feedback-ul dvs. Codul VBA a fost actualizat după cum urmează. Trebuie să:
1. apasă pe Alt + F11 tastele pentru a deschide Visual Basic Editor.
2. În Visual Basic editor, dublu clic Acest manual de lucru in stanga Proiect panoul, apoi copiați următorul cod VBA în ThisWorkbook (Cod) fereastră.
3. Salvați codul și salvați registrul de lucru ca registru de lucru Excel Macro-Enabled.
notițe:
1) În cod, "Win10x64Test" reprezintă numele de utilizator în sistemul dvs. de operare. Schimbați-l cu propriul nume de utilizator.
2) După adăugarea codului, puteți edita registrul de lucru și îl puteți salva ca de obicei. Dar dacă altcineva primește acest registru de lucru, opțiunile Salvare și Salvare ca nu vor fi disponibile.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Updated by Extendoffice 20220930
    ThisWorkbook.Saved = True
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim xName As String
xName = "Win10x64Test" 'The username in your operating system

If xName <> Environ("username") Then
Cancel = True
End If
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Tocmai am descoperit că, de îndată ce plasez o comandă rapidă către acest fișier într-o altă locație (unde îl vor accesa ceilalți), toate protecțiile mele nu mai funcționează. Foaia nu este protejată (pe care am setat-o ​​anterior), registrul de lucru nu este protejat (pe care l-am și setat anterior) și capacitatea Salvare-Salvare ca este acum acolo, de parcă codul VBA nu ar fi fost deloc acolo. Dacă merg la fișierul original, totul funcționează în continuare.

Ce este vorba despre scurtătura care elimină toate protecțiile?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Rochelley,
Codul VBA nu poate da seama în ce mod este deschis registrul de lucru. Deci, nu poate împiedica pe alții să schimbe fișierul deschizându-l printr-o comandă rapidă.
Îmi pare rău că nu te pot ajuta cu această problemă.
Pentru prima problemă pe care ați menționat-o mai sus, am nevoie de timp să văd dacă mă descurc.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Este posibil ca utilizatorul care primește fișierul să dezactiveze macrocomenzile și controlul nu va funcționa. Va rog ajutati sa intelegeti.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Deepak Kachare,
Dacă nu doriți ca alți utilizatori să dezactiveze macrocomenzile după ce primesc fișierul, puteți ascunde codul macro pe care nimeni nu îl poate deschide și să-l vadă.
Vedeți dacă metoda din următorul articol vă poate ajuta.
Cum să protejați și să ascundeți macrocomenzile Excel
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă mulțumim pentru răspunsul dumneavoastră. Cred că linkul este unul eronat. Poti te rog sa ma ajuti cu linkul.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună DEEPAK KACHARE,
Scuze pentru greșeală. Pentru a proteja și a ascunde macrocomenzile Excel, trebuie să configurați după cum urmează.
1. Faceți clic pe Alt + F11 taste pentru a deschide editorul VBA.
2. În editor, faceți clic unelte > Proprietăți VBAProject.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/vba3.png
3. În Proprietăți VBAProject caseta de dialog, accesați Protecţie fila, verificați Proiect de blocare pentru vizualizare caseta, introduceți parola și, în final, faceți clic OK.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/vba4.png
De acum înainte, oricine (inclusiv dumneavoastră) care dorește să deschidă editorul VBA al acestui registru de lucru, este necesară o parolă.
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL