Formulários avançados no Word

0

Eu estou olhando para criar um formulário no Word onde o valor selecionado em uma caixa de combinação determinará o texto em outra seção do formulário.

Primeiro, se eu criar uma caixa de combinação em um documento do Word, como faço referência a essa caixa de combinação no VBA?

Obrigado.

    
por dreamerboy 15.08.2018 / 23:27

2 respostas

1

Usando o controle Properties, defina um valor exclusivo na TAG.

Emseguida,noseuVBA,façaalgocomo...

DimccAsContentControlForEachccInActiveDocument.ContentControlsIfcc.Tag="MyCombo" Then
        'then check the value
        If cc.Range.Text = "Do Wah Diddy Diddy" Then
            'do something
        End If
    End If
Next
    
por 15.08.2018 / 23:59
0

Se você está tomando uma ação imediata quando o usuário final seleciona um item da sua caixa de combinação de Controle de Conteúdo, então você precisa de um Private Sub na classe ThisDocument.

Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)

E nele você pode adicionar um método Select Case para examinar a tag do Controle de conteúdo e tomar uma ação. Este é um exemplo de um dos meus aplicativos.

Select Case ContentControl.Tag
    'Cognitive domain
    Case "LDT_L1"
        For r = 0 To UBound(AchKnowledgeArray)
            If ContentControl.Range.Text = AchKnowledgeArray(r) Then
                r = r + 1
                Exit For
            End If
        Next r
    
por 18.08.2018 / 00:54