Pergunte aqui
0

Como ativo/desativo a caixa de texto do controle de formulário?

perguntadas 2013-08-21 18:04:14 +0200

imagem do gravatar de Virgolino

updated 2013-08-21 19:03:50 +0200

imagem do gravatar de Olivier

Quero usar a caixa de texto do controle dfe formulário, vinculada a uma célula da planilha, de modo que que possa ativá-la ou desativá-la, de acordo com a informação que a mencionada célula contenha. É possível? Como faço?

Obrigado

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

Virgolino, Tem como postar um exemplo (link para baixar) do que quer que o formulário faça.

imagem do gravatar de SchiavinattoSchiavinatto ( 2013-08-23 05:44:40 +0200 )editar

Sim. Espero que a caixa de texto seja ativada ( me permitindo introduzir nela qualquer informação que deseje), quando escrever numa célula a palavra (hipotético) JULHO. Da mesma forma, espero que a caixa de texto do formulário seja desativada, quando escrever na mesma célula a palavra (hipotético) AGOSTO. É possível esse recurso? Como faço? Obrigado

imagem do gravatar de VirgolinoVirgolino ( 2013-08-23 16:29:02 +0200 )editar

Conforme seu exemplo quando for JULHO, você necessita de informação complementar, certo ? Como esta em uma planilha, faça uma célula(s) pedir informação complementar: Na célula que quer a informação complementar coloque esta formula =SE(B4="JULHO";"Complete a informação aqui..";""), supondo que em B4 esta a informação de chamada "JULHO". Atenção para Maiúsculas e minúsculas e no momento que for dado o complemento da informação a fórmula deixa de existir, a correção dever ser com desfazer.

imagem do gravatar de SchiavinattoSchiavinatto ( 2013-08-25 04:26:35 +0200 )editar

Virgolino, caso não tenha conseguindo ainda, poste um link para download da planilha para melhor te ajudar.

imagem do gravatar de Júnio VieiraJúnio Vieira ( 2017-10-17 19:35:19 +0200 )editar

1 Resposta

0

respondidas 2020-05-15 23:34:27 +0200

imagem do gravatar de kaduleite

Crie o formulário na planilha, dentro do formulário crie a caixa de texto.

Coloque o código abaixo nas macros e vincule o evento "Conteúdo Alterado" nos Eventos de Planilha (clique com o botão direito na guia da planilha. Ao alterar o conteúdo da célula B4 para "AGOSTO" a caixa será habilitada. Qualquer outro conteúdo desabilita a caixa.

Function setAtivaControle(Optional nomeForm as string, Optional nomeControle as string, Optional status as Boolean)
' Entre com o nome do controle e o status a aplicar
' O controle deve estar no formulário especificado
' O status é o valor de Ativado para o controle fornecido
' O controle deve ter a propriedade Ativado

' Valores padrões se forem omitidos
If isMissing(nomeControle) Then nomeControle = "Caixa1"
If isMissing(nomeForm) Then nomeForm = "Formulário"
If isMissing(status) Then status = True

ThisComponent.CurrentController.ActiveSheet.DrawPage.Forms.getByName(nomeForm).getByName(nomeControle).Enabled = status
End Function

[Sub AoAlterarPlanilha(oEvent)
    Dim col_alterada, lin_alterada
    col_alterada = oEvent.RangeAddress.StartColumn
    lin_alterada = oEvent.RangeAddress.StartRow
    If col_alterada = 1 and lin_alterada =3 Then ' célula "B4"
        If oEvent.String = "AGOSTO" Then
            setAtivaControle("Formulário", "Caixa1", True)
        Else
            setAtivaControle("Formulário", "Caixa1", False)
        End If
    End If
end Sub]

Em anexo vai a planilha pronta. C:\fakepath\HabilitaDesabilitaControle.ods

Kadu Leite

editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2013-08-21 18:04:14 +0200

Lidas: 154 vezes

Última atualização: May 15