
Atualmente, no Excel 2010, quando tento salvar uma pasta de trabalho que criei como um arquivo .xlsx, mas adicionei uma função ou sub-rotina VBA, o Excel fornece um prompt perguntando (de forma indireta) se eu quero alterá-lo para um arquivo .xlsm. Isso não seria um problema para mim se a resposta padrão a esta pergunta fosse "sim, eu preferiria que todo o trabalho de programação que fiz enquanto trabalhava neste arquivo fosse excluído porque salvei", mas você precisa clicar ativamente em ou vá até o botão "Não" ou ele será salvo como um arquivo .xlsx e você perderá todos os seus módulos.
Esta é uma das únicas situações em que a opção padrão é excluir dados em vez de salvá-los. Eu sei que o fato de ter perdido parte deste trabalho é principalmente culpa minha e deveria ter mais cuidado, mas gostaria muito de saber se posso desabilitar esta mensagem ou alterar o padrão de alguma forma.
Responder1
Vocêpodemas é confuso e perigoso.
- Permitir que o VBA leia/grave VBA (Arquivo > Opções > Central de confiabilidade > Configurações da central de confiabilidade > Configurações de macro > Acesso confiável ao modelo de objeto do projeto VBA)
- Crie uma pasta de trabalho macro pessoal (se ainda não tiver uma)
- No
ThisWorkbook
objeto da sua pasta de trabalho de macro pessoal, use oWorkbook_Open
evento para mapear Ctrl+ Spara alguma outra macro. (Será algo comoApplication.OnKey "^s", "saveAsMacroIfMacrosExist"
) - Use o
Workbook_BeforeClose
evento para desligá-lo novamente (Application.OnKey "^s"
) - Vá escrever essa sub-rotina - não uma função - em um módulo na pasta de trabalho pessoal de macros. (Isso é deixado como um exercício para o leitor, mas encontrei um trechoaquique eu não testei, mas devo testar se uma pasta de trabalho contém macros ou não.)
- Use Ctrl+ Spara salvar seus arquivos em vez da barra de ferramentas ou Arquivo > Salvar.
Ponto-chave: Isso requer que você permita permanentemente o acesso ao modelo de objeto do projeto VBA, o que é, em geral, uma má ideia.
Responder2
Você não pode alterar isso no nível da pasta de trabalho.
No entanto, você pode permitir que o Excel sempre habilite todas as macros por padrão.
- Clique em Arquivo > Opções.
- Clique em Central de confiabilidade e Configurações da Central de confiabilidade.
- Clique em Configurações de macro e habilite todas as macros
Está nodocumentação