Excel VBA Salva con nome

Se sei un utente frequente di Microsoft Excel, devi aver usato la funzione Salva con nome sotto di essa, che ti consente di salvare la cartella di lavoro attualmente aperta con un nome diverso o un formato diverso (abilitato per Excel Macro, CSV, PDF, ecc.). Puoi anche salvare il file in un'altra cartella usando questo metodo. Tuttavia, è possibile utilizzare la stessa funzione in VBA? La risposta è un sì assoluto! Abbiamo anche la funzione Salva con nome in VBA che ci aiuta a fare tutte queste attività sopra menzionate insieme ad alcuni vantaggi aggiuntivi (ovviamente automatizzare le cose è uno dei vantaggi). In questo articolo, daremo un'occhiata a diversi esempi per la funzione VBA SAVE AS.

Formula per la funzione Salva con nome in Excel VBA

Vediamo sotto la formula per la funzione Salva con nome in VBA.

Dove,

  • FileName : nome della cartella di lavoro da salvare.
  • FileFormat - Formato del file in cui il file deve essere salvato (es. PDF, CSV, ecc.)
  • Password : password per proteggere la cartella di lavoro (la cartella di lavoro non è accessibile senza una password)
  • WriteResPassword - Scrivi la password di prenotazione per la cartella di lavoro.
  • ReadOnlyRecommended : riconosce se la cartella di lavoro viene salvata in formato di sola lettura o meno.
  • CreateBackup : determina se viene creato o meno un file di backup per la cartella di lavoro.
  • AccessMode : riconosce la modalità di accesso per la cartella di lavoro.
  • ConflictResolution : riconosce i conflitti che compaiono quando la cartella di lavoro è condivisa e viene utilizzata da più di un utente.
  • AddToMru : controlla se la cartella di lavoro viene aggiunta o meno nel file utilizzato di recente.
  • Locale : verifica se la cartella di lavoro è stata salvata con le leggi di Excel (lingua locale) o con le leggi VBA (USA - Inglese).

Silenzio! Molti argomenti, giusto? Ma cosa succede se te lo dico, tutti questi argomenti sono opzionali e possono essere saltati mentre si utilizza la funzione VBA SAVE AS. Tuttavia, è vero che questi sono gli argomenti che rendono la funzione VBA SaveAs più flessibile da utilizzare. "Expression" all'inizio della sintassi non è altro che un'espressione contro la quale è possibile utilizzare questa funzione. Like Workbook è l'espressione con cui è possibile utilizzare SaveAs.

Esempi per salvare il file Excel usando la funzione Salva come VBA

Di seguito sono riportati i diversi esempi per salvare il file Excel utilizzando la funzione Salva con nome VBA.

Puoi scaricare questo VBA Salva come modello Excel qui - VBA Salva come modello Excel

Esempio n. 1: come salvare una copia della cartella di lavoro con un nome diverso?

Vediamo come possiamo salvare la cartella di lavoro corrente con un nome diverso.

Seguire i passaggi seguenti per utilizzare la funzione Salva con nome in VBA di Excel:

Passaggio 1: aggiungere un nuovo modulo in Visual Basic Editor (VBE). Vai su Inserisci e seleziona Modulo.

Passaggio 2: definire una nuova procedura secondaria che può memorizzare una macro.

Codice:

 Sub SaveAs_Ex1 () End Sub 

Passaggio 3: definire una nuova variabile che può contenere il nome con cui il file deve essere salvato.

Codice:

 Sottotitolo SaveAs_Ex1 () Dim newName As String End Sub 

Passo 4: ora usa l'operatore di assegnazione per assegnare un nome a questa variabile usando quale file corrente può essere salvato come.

Codice:

 Sottotitolo SaveAs_Ex1 () Dim newName As String newName = "Example1" End Sub 

Passaggio 5: ora, utilizzare la funzione SaveAs con l'argomento FileName per salvare il file come con il nome "Esempio1".

Codice:

 Sottotitolo SaveAs_Ex1 () Dim newName As String newName = "Example1" ActiveWorkbook.SaveAs Nome file: = newName End Sub 

Passo 6: Ecco fatto, ora esegui questo codice premendo F5 o manualmente utilizzando il pulsante Esegui e vedi l'output.

Puoi vedere che un file con il nome " Esempio1 " viene salvato su Documenti .

Se avessi potuto annotare, il file viene salvato come file abilitato per le macro, poiché il file originale su cui ho utilizzato la funzione SaveAs è un file con abilitazione per le macro. Significa che questa funzione in VBA controlla automaticamente il formato del file precedente e lo salva nello stesso formato. Inoltre, per impostazione predefinita, il file verrà salvato in Documenti in Questo PC . Questa posizione predefinita può essere fornita esplicitamente al momento della definizione del nome del foglio.

Esempio n. 2: salvataggio della cartella di lavoro con il nome fornito dall'utente

Invece di definire il nome inizialmente, è possibile scrivere un codice che consenta a un utente di salvare il foglio di lavoro con il nome di sua scelta come la funzione Salva con nome di Excel?

Seguire i passaggi seguenti per utilizzare la funzione Salva con nome in VBA di Excel.

Passaggio 1: definire una nuova procedura secondaria nel modulo appena inserito che può memorizzare la macro.

Codice:

 Sottotitolo SaveAs_Ex2 () End Sub 

Passaggio 2: definire una nuova variabile che può contenere il valore del nome definito dall'utente.

Codice:

 Sottotitolo SaveAs_Ex2 () Dim Spreadsheet_Name come variante fine variante 

Il motivo per cui questa variabile viene definita come Variante è che questo tipo di dati rende le convenzioni di denominazione versatili. Ad esempio, un utente può aggiungere un carattere speciale extra (che è consentito nelle convenzioni di denominazione) o può aggiungere date anche sotto il nome del file.

Passaggio 3: Ora, con l'aiuto di un operatore di assegnazione e una combinazione di funzioni denominata application.GetSaveAsFilename, fare una dichiarazione che consenta al sistema di assumere un nome definito dall'utente. Guarda come è stato realizzato nello screenshot qui sotto.

Codice:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name come variante Spreadsheet_Name = Application.GetSaveAsFilename End Sub 

Passaggio 4: utilizzare IF condizionale per assicurarsi che il nome inserito dall'utente sia valido secondo le convenzioni di denominazione.

Codice:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name come variante Spreadsheet_Name = Application.GetSaveAsFilename Se Spreadsheet_Name False quindi End Sub 

Questa condizione verifica se il nome fornito dall'utente per salvare il foglio di lavoro soddisfa correttamente le convenzioni di denominazione impostate per nominare un file o meno.

Passaggio 5: annotare un'istruzione che viene valutata per la determinata condizione IF.

Codice:

 Sottomenu SaveAs_Ex2 () Dim Spreadsheet_Name come variante Spreadsheet_Name = Application.GetSaveAsFilename Se Spreadsheet_Name False Quindi ActiveWorkbook.SaveAs Nome file: = Spreadsheet_Name End Sub 

Questo pezzo di codice viene valutato una volta che la condizione IF è vera. In tal caso, la cartella di lavoro attiva verrà salvata con il nome definito nella variabile Spreadsheet_Name (che verrà definita dall'utente)

Passaggio 6: terminare il ciclo IF ed eseguire questo codice per vedere l'output.

Codice:

 Sub SaveAs_Ex2 () Dim Spreadsheet_Name come variante Spreadsheet_Name = Application.GetSaveAsFilename Se Spreadsheet_Name False Quindi ActiveWorkbook.SaveAs Nome file: = Spreadsheet_Name End If End End 

Passaggio 7: Non appena si esegue questo codice, verrà visualizzata la finestra di dialogo Salva con nome che consente di digitare il nome desiderato e salvare il file.

Esempio n. 3 - Come salvare come file in PDF utilizzando la funzione Salva come VBA di Excel?

Supponi di avere i dati indicati di seguito nel foglio Excel e di convertirli in PDF.

Seguire i passaggi seguenti per convertire questo file in PDF utilizzando la funzione Salva con nome VBA:

Passaggio 1: definire una nuova procedura secondaria per memorizzare una macro.

Codice:

 Sub SaveAs_PDF_Ex3 () End Sub 

Passaggio 2: ora, utilizzare il seguente codice per salvare questo file come file PDF.

Codice:

 Sottotitolo SaveAs_PDF_Ex3 () ActiveSheet.SaveAs Nome file: = "Vba Save as.pdf" End Sub 

Passaggio 3: esegui questo codice e vedrai un file pdf generato in Questo PC> Documenti.

In questo codice, ActiveSheet.SaveAs consente di salvare il file con lo stesso nome. Come abbiamo aggiunto l'estensione come .pdf alla fine del file, viene esportato in file PDF. Puoi vedere l'immagine qui sopra come riferimento.

Cose da ricordare

  • La posizione di salvataggio predefinita per il file utilizzato in VBA SaveAs sarà Questo PC> Documenti. Tuttavia, è possibile specificare manualmente la directory al momento della definizione del nome del file.
  • Per impostazione predefinita, il file salvato utilizzando VBA SaveAs verrà salvato nel formato identico a quello del file originale. Tuttavia, può anche essere definito in base ai requisiti dell'utente nel momento in cui si definisce la variabile.

Articoli consigliati

Questa è una guida a VBA Salva con nome. Qui discutiamo come salvare il file usando la funzione Salva con nome VBA di Excel insieme a un esempio e un modello Excel scaricabile. Di seguito sono riportati alcuni utili articoli di Excel relativi a VBA -

  1. VBA Exit Sub
  2. Crea un foglio di calcolo in Excel
  3. Oggetto VBA
  4. Salvataggio automatico di Excel

Categoria: