Notifications
Clear all

Desabilitar extensões de salvamento

5 Posts
1 Usuários
0 Reactions
674 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde pessoal,
Fiz uma pesquisa aqui mas não sei se pesquisei errado pois não achei nada correlacionado.

Tenho uma planilha com a extensão XLTM ,a qual, sempre deve sempre ser salva com a extensão XLSM ;

ocorre que esta planilha é usada por diversas pessoas , e por mais que se explique sempre há um fulano que preenche os dados e salva em

XLSX , ai babau macros.

Como faço pra que esta planilha (somente ela , não interferindo em outras abertas na maquina) seja salva sempre no formato XLSM ?

P.S _ Lembrando que a planilha salva em XLSM tem um botão o qual roda diversas macros e salva uma nova planilha no formato XLSX e que esta

funcionalidade não pode ser afetada.

Acho que seria algo do tipo inibir o "salvar como" , e quando clicar no salvar , por estar no formato XLTM ela vai abrir o quadro de salvamento , ai deixar como opção somente o XLSM ; bloqueando assim salvamento sem o formato XLSM a não ser pelo botão , que ja esta configurado para xlsx , porem não sei como fazer isso.

Antecipadamente grato a todos.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/02/2014 12:19 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

O ideal seria ter um modelo reduzido e compactado para analisar as rotinas que tem, assim temos certeza de não interferir com outras rotinas, mas de inicio procure utilizar o Evento BeforeSave, neste evento a rotina será executada sempre que clicarem no Botão Salvar:

Ficaria mais ou menos assim :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    
    'Força o Salvamento com o nome e extensão
    ActiveWorkbook.SaveAs Filename:= _
    ActiveWorkbook.Path & "Pasta1.xlsm", FileFormat:= _
    xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    
    'Local onde deve ser salvo o arquivo
    ActiveWorkbook.SaveAs Filename:= _
    ActiveWorkbook.Path & "Pasta2.xlsm", FileFormat:= _
    xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub

fonte: http://br.answers.yahoo.com/question/in ... 824AAXBe38
Ajuste os nomes, faça os testes e veja se estamos no caminho certo.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/02/2014 12:31 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ow Mauro, voce sempre me acudindo heim? mas é o seguinte:
somente a extensão deve ser fixa, o nome e local devem poder ser escolhidos pelo usuário.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/02/2014 1:56 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Tente desta forma:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim FileNameVal As String
    Dim strName As String

    If SaveAsUI Then
        
        FileNameVal = Application.GetSaveAsFilename(strName, "Excel Macro-Enabled Workbook (*.xlsm), *.xlsm")
        Cancel = True
        
        If FileNameVal = "Falso" Then 'User pressed cancel
            Exit Sub
        End If
        
        Application.EnableEvents = False
            
            If Right(ThisWorkbook.Name, 5) <> ".xlsm" Then
                ThisWorkbook.SaveAs Filename:=FileNameVal, FileFormat:=xlOpenXMLWorkbookMacroEnabled
            
            Else
                ThisWorkbook.SaveAs Filename:=FileNameVal, FileFormat:=xlOpenXMLWorkbookMacroEnabled
            End If
            
        Application.EnableEvents = True
        
    End If

End Sub

Fonte: Force Save as XLSM While Maintaining File Structure
http://stackoverflow.com/questions/1211 ... -structure

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/02/2014 5:35 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

muitissimo obrigado

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 27/02/2014 1:32 pm