Prezados, boa noite.
Montei um aplicativo, e com um aplicativo criador de Instalador, o usuário ao clicar no executável instala o aplicativo (.XLSM) e seus conteúdos diretamente dentro da pasta C:\Program Files\Microsoft Office\Root\Templates\ (já como padrão de instalação usando a execução como Administrador do Windows). Fiz isso para que, ao usuário Clicar no Ícone que o Instalador colocou na área de trabalho, as macros são automaticamente habilitadas, diminuindo a possibilidade do usuário em buscar quebrar senhas de Guias e do VBA (diminuir a possibilidade....afff 🙄 ).
Só que isso me gerou mais um desafio: temos no aplicativo a opção do usuário de Salvar Como o arquivo na referida pasta, ou seja, fiz uma função que o usuário ao clicar no Botão de Salvar (que fiz na tela do aplicativo), se abra a tela de Diálogo com o local padrão definido (C:\Program Files\Microsoft Office\Root\Templates\) para que o usuário possa inserir o novo nome e executar o salvamento. Fiz o código abaixo, no entanto como o caminho a ser usado tem restrições de salvamento - acredito que somente leitura (por ser um local padrão de instalação do windows) - o Excel reporta erro 1004 devido a esta limitação do local -> C:\Program Files\Microsoft Office\Root\Templates\.
Pergunto aos amigos, como podemos contornar isso e realizar o salvamento nesta pasta (não queria mudar o local)? Já busquei na net e aqui no fórum mas não localizei algo que me ajuda-se neste sentido.
Segue o código simples que montei:
Sub SalvarComo()
Application.DisplayAlerts = False
Application.ActiveWorkbook.SaveAs Filename:="C:\Program Files\Microsoft Office\Root\Templates\", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
Forte abraço a tod@s, e espero mais esta ajuda.
Editado pela Moderação. Motivo: Utilize o botão Código (< >) sempre que for inserir código VBA ou Fórmulas.
Este tópico foi modificado 4 anos atrás by
willramires
Postado : 30/08/2020 10:33 pm