Salvar como VBA do Excel como
Se você é um usuário frequente do Microsoft Excel, deve ter usado a função Salvar como, que permite salvar a pasta de trabalho aberta no momento com um nome ou formato diferente (ativado para macro do Excel, CSV, PDF, etc.). Você também pode salvar o arquivo em uma pasta diferente usando este método. No entanto, é possível usar a mesma função no VBA? A resposta é um absoluto sim! Também estamos tendo a função Salvar como no VBA, o que nos ajuda a executar todas essas tarefas acima mencionadas, além de alguns benefícios adicionais (obviamente, automatizar as coisas é um dos benefícios). Neste artigo, veremos exemplos diferentes para a função VBA SAVE AS.
Fórmula para a função Salvar como no Excel VBA
Vejamos abaixo a fórmula da função Salvar como no VBA.
Onde,
- FileName - nome da pasta de trabalho a ser salva.
- FileFormat - formato de arquivo no qual o arquivo precisa ser salvo (por exemplo, PDF, CSV etc.)
- Senha - Senha para proteger a pasta de trabalho (a pasta de trabalho não pode ser acessível sem uma senha)
- WriteResPassword - Escreva a senha de reserva para a pasta de trabalho.
- ReadOnlyRecommended - reconhece se a pasta de trabalho é salva no formato Somente Leitura ou não.
- CreateBackup - determina se um arquivo de backup para a pasta de trabalho é criado ou não.
- AccessMode - reconhece o modo de acesso para a pasta de trabalho.
- Resolução de conflitos - reconhece os conflitos que aparecem quando a pasta de trabalho é compartilhada e usada por mais de um usuário.
- AddToMru - Verifica se a pasta de trabalho foi adicionada no arquivo usado recentemente ou não.
- Local - verifica se a pasta de trabalho é salva com as leis do Excel (idioma local) ou com as leis do VBA (EUA - inglês).
Silêncio! Muitos argumentos, certo? Mas e se eu lhe disser, todos esses argumentos são opcionais e podem ser ignorados ao usar a função VBA SAVE AS. No entanto, é verdade que esses são os argumentos que tornam o VBA SaveAs mais flexível para usar. "Expressão" no início da sintaxe nada mais é do que uma expressão contra a qual essa função pode ser usada. Like Workbook é a expressão com a qual SaveAs pode ser usado.
Exemplos para salvar arquivo do Excel usando a função Salvar como VBA
Abaixo estão os diferentes exemplos para salvar o arquivo Excel usando a função Salvar como VBA.
Você pode fazer o download deste modelo do VBA Save As Excel aqui - Modelo do VBA Save As ExcelExemplo # 1 - Como salvar uma cópia da pasta de trabalho com um nome diferente?
Vamos ver como podemos salvar a pasta de trabalho atual com um nome diferente.
Siga as etapas abaixo para usar a função Salvar como no Excel VBA:
Etapa 1: adicione um novo módulo no Editor do Visual Basic (VBE). Vá para Inserir e selecione Módulo.
Etapa 2: defina um novo subprocedimento que pode armazenar uma macro.
Código:
Sub SaveAs_Ex1 () End Sub
Etapa 3: defina uma nova variável que possa conter o nome pelo qual o arquivo será salvo.
Código:
Sub SaveAs_Ex1 () Dim newName As String End Sub
Etapa 4: Agora use o operador de atribuição para atribuir um nome a essa variável usando o arquivo atual como o qual pode ser salvo.
Código:
Sub SaveAs_Ex1 () Dim newName As String newName = "Example1" End Sub
Etapa 5: Agora, use a função SaveAs com o argumento FileName para salvar o arquivo como com o nome "Example1".
Código:
Sub SaveAs_Ex1 () Dim newName As String newName = "Example1" ActiveWorkbook.SaveAs Nome do arquivo: = newName End Sub
Etapa 6: é isso, agora execute esse código pressionando F5 ou manualmente usando o botão Executar e veja a saída.
Você pode ver que um arquivo com o nome “ Exemplo1 ” está sendo salvo em Documentos .
Se você pudesse ter anotado, o arquivo está sendo salvo como Arquivo Habilitado para Macro, porque o arquivo original no qual usei a função SaveAs é um arquivo com Habilitado para Macro. Isso significa que essa função no VBA verifica automaticamente o formato do arquivo anterior e o salva no mesmo formato. Além disso, por padrão, o arquivo será salvo em Documentos em Este PC . Esse local padrão pode ser fornecido explicitamente no momento da definição do nome da planilha.
Exemplo # 2 - Salvando a pasta de trabalho com nome fornecido pelo usuário
Em vez de definir o nome inicialmente, é possível escrever um código que permita ao usuário salvar a planilha com o nome de sua escolha, igual à função Salvar como do Excel?
Siga as etapas abaixo para usar a função Salvar como no Excel VBA.
Etapa 1: defina um novo subprocedimento no módulo recém-inserido que pode armazenar a macro.
Código:
Sub SaveAs_Ex2 () End Sub
Etapa 2: defina uma nova variável que possa conter o valor do nome definido pelo usuário.
Código:
Sub SaveAs_Ex2 () Dim Spreadsheet_Name Como variante End Sub
A razão para essa variável ser definida como Variante é que esse tipo de dados torna as convenções de nomenclatura versáteis. Por exemplo, um usuário pode adicionar algum caractere especial extra (que é permitido nas convenções de nomenclatura) ou também pode adicionar datas sob o nome do arquivo.
Etapa 3: Agora, com a ajuda de um operador de atribuição e uma combinação de funções chamada application.GetSaveAsFilename, faça uma declaração que permita que o sistema adote um nome definido pelo usuário. Veja como isso foi alcançado na captura de tela abaixo.
Código:
Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename End Sub
Etapa 4: use IF condicional para garantir que o nome digitado pelo usuário seja válido conforme as convenções de nomenclatura.
Código:
Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename Se Spreadsheet_Name False, em seguida, End Sub
Essa condição verifica se o nome dado pelo usuário para salvar a planilha está satisfazendo adequadamente as convenções de nomenclatura definidas para nomear um arquivo ou não.
Etapa 5: Anote uma declaração que seja avaliada para a condição IF especificada.
Código:
Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename If Spreadsheet_Name False Then ActiveWorkbook.SaveAs Nome do arquivo: = Spreadsheet_Name End Sub
Esse trecho de código é avaliado quando a condição SE for verdadeira. Nesse caso, a pasta de trabalho ativa será salva com o nome define na variável Spreadsheet_Name (que será definida pelo usuário)
Etapa 6: finalize o loop IF e execute esse código para ver a saída.
Código:
Sub SaveAs_Ex2 () Dim Spreadsheet_Name As Variant Spreadsheet_Name = Application.GetSaveAsFilename If Spreadsheet_Name False Then ActiveWorkbook.SaveAs Nome do arquivo: = Spreadsheet_Name End If End Sub
Etapa 7: assim que você executar esse código, você receberá a caixa de diálogo Salvar como, que permitirá que você digite o nome de sua escolha e salve o arquivo.
Exemplo # 3 - Como salvar como um arquivo em PDF usando a função SaveAs do Excel VBA?
Suponha que você tenha os dados fornecidos abaixo na planilha do Excel e precise convertê-los em PDF.
Siga as etapas abaixo para converter esse arquivo em um PDF usando a função Salvar como VBA:
Etapa 1: defina um novo subprocedimento para armazenar uma macro.
Código:
Sub SalvarAs_PDF_Ex3 () End Sub
Etapa 2: Agora, use o código a seguir para salvar este arquivo como um arquivo PDF.
Código:
Sub SaveAs_PDF_Ex3 () ActiveSheet.SaveAs Nome do arquivo: = "Vba Save as.pdf" End Sub
Etapa 3: execute esse código e você verá um arquivo pdf gerado em Este PC> Documentos.
Nesse código, o ActiveSheet.SaveAs permite que o arquivo seja salvo com o mesmo nome. Como adicionamos a extensão como .pdf no final do arquivo, ela é exportada para o arquivo PDF. Você pode ver a imagem acima para sua referência.
Coisas para lembrar
- O local padrão para salvar o arquivo usado em VBA SaveAs será Este PC> Documentos. No entanto, você pode especificar o diretório manualmente no momento da definição do nome do arquivo.
- Por padrão, o arquivo salvo usando o VBA SaveAs será salvo no formato igual ao do arquivo original. No entanto, também pode ser definido conforme os requisitos do usuário no momento em que você define a variável.
Artigos recomendados
Este é um guia para o VBA Save As. Aqui, discutiremos como salvar o arquivo usando a função Salvar como do Excel VBA, juntamente com um exemplo e um modelo do Excel para download. Abaixo estão alguns artigos úteis do Excel relacionados ao VBA -
- Sub Saída de VBA
- Criar uma planilha no Excel
- Objeto VBA
- Salvamento automático do Excel