MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Excluir macro Autoexec em outro BD com VBA

    Compartilhe

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    [Resolvido]Excluir macro Autoexec em outro BD com VBA

    Mensagem  ilvecchio em Qui 26 Fev 2015, 12:47

    Buenas!

    Preciso excluir a macro Autoexec de um banco de dados Access2003 (BD1) por meio de código VBA num formulário em outro banco de dados (BD2).
    Alguém tem um código para isso, ou algo que eu possa tentar adaptar?

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Re: [Resolvido]Excluir macro Autoexec em outro BD com VBA

    Mensagem  ilvecchio em Qui 26 Fev 2015, 15:40

    Buenas!

    A Ajuda do Acces contém este código:

    Sub AllMacros()
    Dim obj As AccessObject, dbs As Object
    Set dbs = Application.CurrentProject
    ' Search for open AccessObject objects in AllMacros collection.
    For Each obj In dbs.AllMacros
    If obj.IsLoaded = True Then
    ' Print name of obj.
    Debug.Print obj.Name
    End If
    Next obj
    End Sub



    Funciona para o mesmo banco (Application.CurrentProject).

    Como adaptá-lo para ler outro banco?


    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Re: [Resolvido]Excluir macro Autoexec em outro BD com VBA

    Mensagem  ilvecchio em Sex 27 Fev 2015, 12:46

    Buenas!
    Resolvido com esta excelente solução, simples e eficaz, do site: [Você precisa estar registrado e conectado para ver este link.] sugerida pelo usuário ChuckB

    Basta enviar para o segundo banco uma macro com o mesmo nome "Autoexec", para substituir a que está lá. Essa é uma macro "vazia", para não executar nada se o banco for aberto.

    Dim VCaminho As String
    VCaminho = "C:\TesteAutoexec.mdb"

    DoCmd.SetWarnings False

    DoCmd.TransferDatabase acExport, "Microsoft Access", VCaminho, acMacro, "AutoexecVazia", "AutoExec", False

    DoCmd.SetWarnings true

      Data/hora atual: Sex 09 Dez 2016, 03:47