Bom dia.
Estou tentando fazer um CRUD por meio de macros com formulários e estes possuem as caixas de lista suspensas. Contudo, percebi que as caixas são read-only. Como fazer para limpá-las, isto é, ao clicar no botão “LIMPAR” (ver exemplo em anexo), além dos dados em caixas de texto, também limpar o dado na caixa suspensa?
Já tentei usar .Value, .Text, setar o “estado.SelectedItem” como NULL ou “”, mas nada adiantou.
Deixo abaixo o código e o exemplo em anexo e agradeço desde já se alguém possuir uma solução.
public form_cadastro as object
public planilha_cadastro as object
public nome as object
public sobrenome as object
public estado as object
'Inicializa o formulário de cadastro.
Sub formulario_cadastro
BasicLibraries.LoadLibrary("Standard")
form_cadastro = CreateUnoDialog( DialogLibraries.Standard.getByName("Novo_Cadastro") )
nome = form_cadastro.getControl("nome")
sobrenome = form_cadastro.getControl("sobrenome")
estado = form_cadastro.getControl("estado")
End Sub
'Mostra o formulário.
Sub mostrar_formulario_cadastro
Call formulario_cadastro
form_cadastro.Execute()
End Sub
'Cadastra as informações na planilha.
Sub novo_cadastro
dim celula1 as object
dim celula2 as object
dim celula3 as object
planilha_cadastro = ThisComponent.Sheets.getByName("Planilha1")
celula1 = planilha_cadastro.getCellRangeByName("A3")
celula2 = planilha_cadastro.getCellRangeByName("B3")
celula3 = planilha_cadastro.getCellRangeByName("C3")
planilha_cadastro.Rows.InsertByIndex(2,1)
celula1.String = nome.Text
celula2.String = sobrenome.Text
celula3.String = estado.SelectedItem
MsgBox("Usuário cadastrado com sucesso!", 0 + 64, "")
End Sub
Sub limpar_formulario
nome.Text = ""
sobrenome.Text = ""
'estado.SelectedItem = ???
End Sub
Exemplo.ods (14.3 KB)