Olá, tudo bem? Gostaria de saber como riscar uma tarefa após acionar o formulário “caixa de seleção”, como se fosse um checklist mesmo! Obrigada
Pensei em uma forma. veja se é isso mesmo que você quer. Se precisar, eu explico mais detalhadamente.
Teste.ods (8.6 KB)
Pegando um gancho na planilha do @Eliel_Francklim , segue alternativa com macro:
> Option Explicit
> Sub Tachado
> Dim wb As Object : wb = ThisComponent
> Dim ws As Object : ws = wb.sheets(0).getDrawPage()
> Dim frm As Object : frm = ws.Forms.getByName("Formulário")
> Dim csTeste As Object : csTeste = frm.getByName("csTeste")
>
> With csTeste
> If .state = 1 Then
> .FontStrikeout = 1
> .label = "Selecionado"
> Else
> .FontStrikeout = 0
> .Label = "Não Selecionado"
> End If
> End With
> End Sub
riscar-cs.ods (16.9 KB)
2 Likes
Adicionei uma caixa de diálogo utilizando eventos diretos sobre o objeto, bem como evento MouseMove sobre o formulário.
Option Explicit
'============================================================================
Dim dlgTeste As Object
Dim frmTeste As Object
Dim csTeste As Object
Dim bt As Object
'============================================================================
Sub Tachado
Dim wb As Object : wb = ThisComponent
Dim ws As Object : ws = wb.sheets(0).getDrawPage()
Dim frm As Object : frm = ws.Forms.getByName("Formulário")
csTeste = frm.getByName("csTeste")
With csTeste
If .state = 1 Then
.FontStrikeout = 1
.label = "Selecionado"
Else
.FontStrikeout = 0
.Label = "Não Selecionado"
End If
End With
End Sub
'============================================================================
Sub Iniciar
DialogLibraries.loadLibrary("Standard")
dlgTeste = createUnoDialog(dialogLibraries.Standard.getByName("dlgTeste"))
frmTeste = dlgTeste.getModel("frmTeste")
csTeste = dlgTeste.getControl("csTeste")
dlgTeste.Execute
dlgTeste.Dispose
End Sub
'============================================================================
Sub Tachar
With csTeste
If .state = 1 Then
.Model.FontStrikeout = 1
.label = "Selecionado Evento Clickar"
Else
.Model.FontStrikeout = 0
.Label = "Evento Clickar"
End If
End With
End Sub
'============================================================================
Sub MouseMoveCS
For Each bt In dlgTeste.Controls
If bt.ImplementationName = "stardiv.Toolkit.UnoCheckBoxControl" Then
If bt.state = 1 Then
bt.Model.FontStrikeout = 1
bt.Label = "Selecionado Evento MouseMove"
Else
bt.Model.FontStrikeout = 0
bt.Label = "Evento MouseMove"
End If
End If
Next
End Sub
riscar-cs.ods (16.9 KB)
1 Like