Página 1 de 1

Duvida com código para salvar arquivo

Enviado: 13 Fev 2018 às 08:50
por rit
Bom dia amigos,

eu tenho um código que grava o arquivo e exclui o botão que eu uso para atualizar e gravar, eu gostaria que esse código salva-se o arquivo da mesma forma que já faz e nesse arquivo que ele salva ele tira-se o botão e o arquivo original continuasse aberto com o botão para eu ir fazendo o serviço constante ?

não sei se ficou claro, mas basicamente é salvar uma "cópia" do arquivo original mas sem o botão de macro, e o arquivo com o botão continuar aberto para eu ir salvando outros arquivos, o nome sempre muda então não é algo que va substituir o tempo todo são varios arquivos.
Código: Selecionar todos
Sub Excluir()
Application.DisplayAlerts = True
ActiveSheet.Shapes.Range(Array("Botão 4")).Delete
ActiveWorkbook.SaveAs Filename:="S:\Dir_Geral\Dir_Tecnica\AB\Planej_Materiais\9.Outros_Documentos\Formularios Uso Geral\Arquivo 2010\Cartões\Documentos OP\Unidades Hidraulicas\CARTOES IDENT\" & Range("F4"), FileFormat:=xlWorkbookDefault
Application.DisplayAlerts = True
End Sub

Duvida com código para salvar arquivo

Enviado: 13 Fev 2018 às 15:08
por juniorieq61
Amigo, pelo que entendi, acho que essa rotina lhe ajuda, basicamente é uma pasta de trabalho com um botão que executa a macro de salvar uma cópia do arquivo, depois a macro abre esse arquivo, exclui o shape com o nome indicado no código e fecha o arquivo salvando sem o shape.

Vou mandar o código pra você ter noção e a pasta de trabalho também segue em anexo.
Código: Selecionar todos
Public Sub SaveCopy()
    Dim wbk     As Workbook
    Dim ws      As Worksheet
    Dim shp     As Shape
    Dim Path    As String
        
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Path = VBA.Environ("USERPROFILE") & "\Desktop\CopiaSemShape.xlsm"
    ThisWorkbook.SaveCopyAs Path
    Set wbk = Application.Workbooks.Open(Filename:=Path)
    wbk.Sheets(1).Shapes.Range(Array("Button 1")).Delete
    wbk.Close savechanges:=True
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    
    MsgBox "Uma cópia deste arquivo foi realizada com sucesso!" & vbNewLine & _
            "Localize o arquivo no seguinte caminho: " & Path, vbInformation
End Sub
Espero ter ajudado (Arquivo em anexo)

Duvida com código para salvar arquivo

Enviado: 13 Fev 2018 às 15:10
por juniorieq61
Retirei as variáveis que não eram necessárias.
Código: Selecionar todos
Public Sub SaveCopy()
    Dim wbk     As Workbook
    Dim Path    As String
        
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Path = VBA.Environ("USERPROFILE") & "\Desktop\CopiaSemShape.xlsm"
    ThisWorkbook.SaveCopyAs Path
    Set wbk = Application.Workbooks.Open(Filename:=Path)
    wbk.Sheets(1).Shapes.Range(Array("Button 1")).Delete
    wbk.Close savechanges:=True
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    
    MsgBox "Uma cópia deste arquivo foi realizada com sucesso!" & vbNewLine & _
            "Localize o arquivo no seguinte caminho: " & Path, vbInformation
End Sub

Duvida com código para salvar arquivo

Enviado: 14 Fev 2018 às 10:47
por rit
Cara SHOW DE BOLA, mas tipo como eu faço para ele salvar na extensão xlsx e continuar com o outro formato xlsm aberto ? por que se não fica salvando um monte de arquivo na extensão xlsm que não é a necessidade nesse caso.

Obrigado!

Duvida com código para salvar arquivo

Enviado: 14 Fev 2018 às 15:19
por rit
cara muito obrigado, vou deixar dessa forma mesmo, o arquivo não fica tão grande VLW!