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

Como forçar os usuários a salvar como uma pasta de trabalho habilitada para macro?

Quando você salva uma pasta de trabalho do Excel, ela é salva como formato de arquivo xlsx por padrão e esse formato de arquivo se livra dos códigos de macro da pasta de trabalho se houver vários códigos. Para manter os códigos, você deve salvar a pasta de trabalho no formato de pasta de trabalho habilitada para macro do Excel. Como você poderia forçar os usuários a salvar como uma pasta de trabalho habilitada para macro?

Força os usuários a salvar como uma pasta de trabalho habilitada para macro com código VBA


seta azul bolha direita Força os usuários a salvar como uma pasta de trabalho habilitada para macro com código VBA

Para salvar a pasta de trabalho como uma pasta de trabalho habilitada para macro por padrão, o seguinte código VBA pode ajudá-lo, faça o seguinte:

1. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

2. Em seguida, clique duas vezes Esta pasta de trabalho sob a Projeto VBA seção para abrir um novo módulo em branco e, em seguida, copie e cole o seguinte código no módulo:

Código VBA: Forçar para salvar a pasta de trabalho como pasta de trabalho habilitada para macro por padrão:

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 salvar como xlsm 1

3. Em seguida, salve e feche esta janela de código, a partir de agora, quando os usuários salvarem como esta pasta de trabalho, ela será salva como Pasta de trabalho habilitada para macro do Excel formato por padrão, conforme mostrado a seguir:

doc force salvar como xlsm 2


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (11)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Isso foi tão útil e funcionou como um encanto, obrigado :)
Este comentário foi feito pelo moderador no site
Me salvou de muita dor - muito obrigado
Este comentário foi feito pelo moderador no site
Agradável!

Me poupou muita dor de cabeça! :)
Este comentário foi feito pelo moderador no site
Estou usando o Excel 2016 para Mac e, quando uso esse código VBA para obter o "forçar salvar como .xlsm", recebo o seguinte erro:

Erro em tempo de execução '1004':

O método 'GetSaveAsFilename' do objeto '_Application' falhou

Qualquer orientação que alguém possa fornecer sobre esse erro e como posso precisar ajustar o código para funcionar na versão Mac do Excel seria muito apreciada!
Este comentário foi feito pelo moderador no site
fileformat: = 52 é melhor como fazer pasta de trabalho habilitada para macro. fileformat:=51 é uma pasta de trabalho normal.
Este comentário foi feito pelo moderador no site
Continue recebendo um ERRO 1004.
Usando Off365 2016 para MAC. Tem soluções?
Este comentário foi feito pelo moderador no site
Olá, Jonathas,
Este código funciona bem no Windows Office, mas não foi testado no MAC.
Você deve procurar um código para trabalhar no MAC.
Obrigado!
Este comentário foi feito pelo moderador no site
Qualquer maneira de ter este VBA em um arquivo de modelo
Este comentário foi feito pelo moderador no site
Alguma maneira de ter esse VBA em um arquivo que seja um tipo de arquivo de modelo verdadeiro?
Este comentário foi feito pelo moderador no site
Quando você estiver pronto para criar o modelo, acredito que você deva usar a janela imediata para executar
ActiveWorkbook.SaveAs Filename:="ENTER YOUR TEMPLATE NAME", FileFormat:=xlOpenXMLTemplateMacroEnabled
Este comentário foi feito pelo moderador no site
O código VBA que força o usuário a salvar no formato de arquivo .xlsm funciona muito bem para mim. Eu estava procurando por essa solução por um bom tempo. Muito obrigado pela ajuda!
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL