Salvarea unui document

La fel ca atunci când un utilizator salvează un document nou creat folosind tastatura și mouse-ul, la executarea codului VBA trebuie să specificați un nume de fișier și calea când salvați prima dată un document nou. După aceea, aveți posibilitatea să îl salvați sub același nume sau să specificați un alt nume sau un format diferit. Aceasta este diferența dintre opțiunile Save și Save As.

Salvarea unui fișier pentru prima dată sau ca fișier diferit

Pentru a salva un fișier pentru prima dată sau pentru a salva un fișier sub un alt nume sau într-un format diferit, utilizați metoda SaveAs2. Sintaxa este următoarea:

expression.SaveAs2(FileName, FileFormat, LockComments, Password, AddToRecentFiles, WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter, Encoding, InsertLineBreaks, AllowSubstitutions, LineEnding, AddBiDiMarks, CompatibilityMode

Începând cu Word 2010, comanda tradițională SaveAs a fost înlocuită cu comanda SaveAs2, care este identică cu excepția adăugării argumentului CompatibilityMode. În funcție de compatibilitatea cu versiunile anterioare din Word, documentele pot fi salvate în cinci moduri diferite.

  • 0 este implicit dacă nu specificați niciuna dintre celelalte opțiuni CompatibilityMode din această listă. Documentul va fi salvat utilizând orice mod de compatibilitate utilizat în prezent de acest document.
  • wdCurrent este un mod de compatibilitate echivalent cu cea mai recentă versiune Microsoft Word.
  • wdWord2003 este un mod compatibil cu Word 2003. Orice caracteristici noi din Word 2013 sunt dezactivate.
  • wdWord2007 este, în esență, la fel ca modul 2003, dar sunt activate caracteristicile compatibile cu versiunea 2007 din Word.
  • wdWord2010 este modul în care sunt activate caracteristicile Word 2010.

Comanda tradițională SaveAs funcționează în continuare, dar VBA Editor are tendința de a o înlocui automat cu SaveAs2.

În sintaxă , expression este o expresie care returnează un obiect Document. De exemplu, este posibil să utilizați obiectul ActiveDocument sau un obiect din colecția Documents.

FileName este un argument opțional de tip Variant care specifică numele documentului. Dacă omiteți FileName, VBA utilizează folderul curent și numele de fișier implicit al Docn.docx (sau Docn .docm) sau un document și Dotn.dotx (sau .dotm) pentru un șablon, unde n este următorul număr disponibil (de exemplu, Doc5.docx pentru un document fără macrocomenzi sau Dot2.dotm pentru un șablon activat pentru macrocomenzi).

EVITAȚI SUPRASCRIEREA ACCIDENTALĂ A UNUI FIȘIER

Când scrieți cod care salvează un document, mai întâi trebuie să verificați dacă există deja un document cu acest nume și locație. Dacă nu verificați, VBA ar putea suprascrie un fișier existent fără avertizare, cauzând potențiale pierderi de date.

FileFormat este un argument opțional de tip Variant care precizează formatul în care se salvează documentul.

Tabelul de mai jos listează constantele wdSaveFormat pentru specificarea formatelor utilizate în mod obișnuit.

O modalitate rapidă de a vedea obiectele și constantele lor

Dacă scrieți cod și doriți să vedeți rapid o listă a constantelor, cum ar fi constantele WdSaveFormat din tabelul de mai sus, apăsați F2 pentru a deschide Object Browser din Editor. Apoi, de exemplu, tastați wdsaveformat în câmpul de căutare al Object Browser și apăsați tasta Enter. Va fi afișată o listă completă de constante ca în figura următoare.

Ca un exemplu de mod de utilizare a uneia dintre aceste constante, următoarea comandă salvează documentul activ ca fișier HTML filtrat sub numele Example.html în folderul curent:

ActiveDocument.SaveAs2 FileName:="Example.html", _ 
  FileFormat:=wdFormatFilteredHTML

După ce executați acest exemplu de cod, utilizați Windows Explorer pentru a localiza acest nou fișier Example.html și faceți clic pe el. Se va deschide în Internet Explorer ca și ar fi o pagină web, deoarece este stocat utilizând formatul HTML (dacă Internet Explorer este aplicația implicită cu care computerul deschide fișiere .html). Sau, îl puteți deschide cu Notepad pentru a vedea codul HTML.

În plus față de constantele wdSaveFormat descrise în tabelul de mai sus, aveți posibilitatea să salvați documente în alte formate pentru care aveți convertoare de fișiere instalate specificând valoarea corespunzătoare pentru proprietatea SaveFormat a obiectului FileConverter. De exemplu:

ActiveDocument.SaveAs2 FileFormat:=FileConverters(15).SaveFormat.

Pentru mai multe informații, consultați descrierea pentru proprietatea FileConverters din fișierul de ajutor VBA.

AddToRecentFiles este un argument opţional de tip Variant pe care îl puteți seta la True pentru ca Word să adauge documentul la lista de fișiere utilizate recent afișate când faceți clic pe fila File din panglică, apoi faceți clic pe Recent. (În general, veți dori să evitați listarea documentelor pe această listă recentă, lăsând nemodificată lista cu fișiere recente a utilizatorului.)

Pentru a proteja documentul în timp ce îl salvați, aveți posibilitatea să utilizați patru caracteristici de protecție diferite:

  • LockComments este un argument opţional de tip Variant care poate fi setat la True pentru a bloca documentul, astfel încât recenzenții pot introduce comentarii, dar nu pot modifica textul documentului.
  • Password este un argument opţional de tip Variant folosit pentru a seta o parolă pentru a deschide documentul.
  • WritePassword este un argument opţional de tip Variant folosit pentru a seta o parolă înainte de a salva modificările din document.
  • ReadOnlyRecommended este un argument opţional de tip Variant care poate fi setat la True pentru ca Word să recomande utilizatorului să deschidă documentul doar în citire.

Există și următoarele argumente opționale care se folosesc foarte rar:

  • EmbedTrueTypeFonts este un argument opţional de tip Variant care poate fi setat la True pentru a salva font TrueType odată cu documentul. (Este o idee bună numai dacă distribuiți documentul unei persoane care știți că nu are instalate fonturile TrueType pentru a vizualiza corect documentul.)
  • SaveNativePictureFormat este un argument opţional de tip Variant care poate fi setat la True pentru ca grafica să fie importată dintr-o altă platformă salvată ca grafică Windows.
  • SaveFormsData este un argument opţional de tip Variant care poate fi setat la True pentru a salva datele introduse într-un formular ca înregistrare de date (spre deosebire de salvarea întregului formular, inclusiv a textului său static).
  • SaveAsAOCELetter este un argument opţional de tip Variant care poate fi setat la True pentru a salva documentul ca AOCE (Apple Open Collaboration Environment) letter (un format de corespondență pentru documentele de rutare).
  • Encoding este un argument opţional de tip Variant pentru folosirea unui cod de pagină diferit decât codul de pagină al sistemului. De exemplu, este posibil să fie necesar să salvați un document utilizând codul de pagină Cyrillic.
  • InsertLineBreaks este un argument opţional de tip Variant care poate fi setat la True la salvarea unui document ca fișier text pentru a face ca Word să adauge câte o pauză de linie la sfârșitul fiecărei linii de text.
  • AllowSubstitutions este un argument opţional de tip Variant care poate fi setat la True la salvarea unui document ca fișier text pentru a face ca Word să înlocuiască unele caractere simbol cu text similar. De exemplu, Word înlocuiește (TM) cu simbolul trademark (™).
  • LineEnding este un argument opţional de tip Variant care poate fi folosit la salvarea unui document ca fișier text pentru a controla modul în care Word marchează întreruperile de linie și de paragraf.
  • AddBiDiMarks este un argument opţional de tip Variant care poate fi setat la True pentru a face ca Word să adauge caractere de control la fișier pentru a menține aspectul bidirecțional.

De obicei, atunci când salvați un fișier pentru prima dată, va trebui să specificați numai numele și calea sa; dacă doriți să îl salvați într-un alt format decât un document Word, trebuie să specificați și acest lucru. Următoarea comandă salvează documentul activ sub numele Raport.doc în folderul C:\temp:

ActiveDocument.SaveAs2 _
"C:\temp\Raport.doc"

Salvarea unui document care a fost deja salvat

După ce un document a fost salvat deja, îl puteți salva ulterior sub același nume, utilizând metoda Save. Pentru un obiect Document, metoda Save nu are argumente (formatul curent al documentului este salvat fără a fi modificat). De exemplu, următoarea comandă salvează documentul denumit Exemplu.doc:

Documents("Exemplu.doc").Save

Salvarea tuturor documentelor deschise

Pentru a salva toate documentele deschise, utilizați metoda Save cu colecția Documents. Sintaxa este următoarea:

expression.Save(NoPrompt, OriginalFormat)

Aici, expression este o expresie care returnează colecția Documents. Deseori, veți utiliza chiar colecția Documents.

NoPrompt este un argument opțional de tip Variant pe care îl puteți seta la True care face Word să salveze toate documentele deschise care conțin modificări nesalvate și orice șabloane atașate care conțin modificări nesalvate fără a solicita utilizatorul. Setarea implicită este false, ceea ce face ca Word să solicite utilizatorului să salveze fiecare document și șablon. Chiar dacă setați NoPrompt la True, Word va solicita utilizatorului să salveze modificările la normal.dotm dacă este selectată caseta Prompt Before Saving Normal Template în secțiunea Save din fila Advanced, caseta de dialog Options.

OriginalFormat este un argument opțional de tip Variant care se poate seta la wdOriginalDocument-Format pentru a salva documentele în formatele lor originale, wdWordDocument pentru a forța fiecare document să fie salvate ca și document Word, sau wdPromptUserX pentru a solicita utilizatorului ce format să folosească.

De exemplu, următoarea comandă salvează toate documentele și șabloanele deschise fără a solicita utilizatorul:

Documents.Save NoPrompt:=True

Cum se verifică dacă un document conține modificări nesalvate

Pentru a afla dacă un document conține modificări nesalvate, verificați proprietatea Saved. Saved este o proprietate de tip Boolean, citire/scriere care returnează false dacă documentul conține modificări nesalvate și True dacă este salvat. Un document nou nu conține modificări nesalvate, chiar dacă nu a fost niciodată salvat.

Pericolele stocării fișierelor în cloud și cum se pot trimite fișierele în cloud

Mobilitatea este acum o tendință primară, iar oamenii se așteaptă ca fișierele lor să fie disponibile oriunde, nu doar pe hard disk-urile lor de acasă sau din birou. Ei doresc, de asemenea, să fie disponibile pe diferite dispozitive portabile: tabletă, telefon mobil, laptop, orice.

Deci, pentru a avea fișierele la îndemână peste tot și pe orice tip de computer, datele sunt mutate în Cloud. Dar dacă citiți acordurile de licență pentru utilizatorul final (EULA), veți descoperi că furnizorii de stocare cloud refuză în mare parte să garanteze fie siguranța, fie securitatea datelor dumneavoastră. S-ar putea pierde într-un incendiu la ferma lor de servere; ar putea fi capturate de Snoops. Pentru a vă proteja, o măsură înțeleaptă de precauție este să vă păstrați copiile de rezervă proprii în propria casă, bancă sau birou și, de asemenea, pentru a cripta informațiile sensibile. Cloud este util, dar nu este foarte sigur. Care sunt persoanele care vă păstrează datele? Și unde, exact, sunt localizate serverele lor? Nu prea știm.

Cu toate acestea, dacă doriți să știți codul care salvează fișiere Word în cloud pe OneDrive Microsoft, este destul de simplu. Salvați doar un document în folderul OneDrive. Acest exemplu salvează documentul curent în OneDrive (În acest exemplu de cod schimbați numele cu cel folosit de dvs. în calea fișierului):

ActiveDocument.SaveAs ("C:\Users\NumeleDvs\Onedrive\CloudTest")

Și pentru salvarea în Dropbox:

ActiveDocument.SaveAs2 ("C:\Users\NumeleDvs\Dropbox\CloudTest")