none
evento novo workbook excel RRS feed

  • Pergunta

  • Boa tarde,

    A minha questão é a seguinte:

    Tenho um projecto addin express.

    Tenho um botão numa ribbon que queria ativar e desativar se tivesse um workbook aberto ou não.

    Obrigado,

    Élio

    segunda-feira, 30 de abril de 2012 17:38

Respostas

  • Acho que não é possível porque não há um evento que é disparado no Addin quando se cria uma nova Pasta de Trabalho em branco padrão.

    Uma forma maluca seria criar um timer no evento Workbook_Open do Addin que checa periodicamente se há pelo menos uma Pasta de Trabalho ativa para então ativar o ribbon, mas eu não recomendaria.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 2 de maio de 2012 20:54
    Moderador

Todas as Respostas

  • Meu palpite é que se não houver nenhuma Pasta de Trabalho aberta e você clicar neste botão, um erro será retornado, certo?

    É possível fazer o que você quer somente se você tiver acesso ao código fonte do Addin. No entanto, a solução para desativá-lo é demasiadamente complicada uma vez que você irá alterar a faixa de ribbons em tempo de execução.

    Um alternativa que dou para contornar esse problema é você inserir um teste condicional ao clicar no botão como:

        

    Private Sub Rotina(ribbon As IRibbonControl)
        If ActiveWorkbook Is Nothing Then
            MsgBox "Não há nenhuma Pasta de Trabalho ativa!", vbCritical, "Erro!"
            Exit Sub
        End If

        'Código continua executando normalmente

    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 1 de maio de 2012 18:47
    Moderador
  • O que pretendia na realidade era:

    Não tenho nenhum livro aberto no excel o botão está desativo.

    Assim que tenha um livro aberto o botão esteja ativo.

    Élio

    quarta-feira, 2 de maio de 2012 15:54
  • Acho que não é possível porque não há um evento que é disparado no Addin quando se cria uma nova Pasta de Trabalho em branco padrão.

    Uma forma maluca seria criar um timer no evento Workbook_Open do Addin que checa periodicamente se há pelo menos uma Pasta de Trabalho ativa para então ativar o ribbon, mas eu não recomendaria.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 2 de maio de 2012 20:54
    Moderador