Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por rit
Posts
#30193
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
#30205
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)
Você não está autorizado a ver ou baixar esse anexo.
#30206
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
Por rit
Posts
#30241
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!
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord