Compartilhar via


Método Event.SetFilterCommands (Visio)

Especifica uma matriz de intervalos de comandos e um valor True ou False indicando como filtrar eventos para cada intervalo de comandos.

Sintaxe

expression. SetFilterCommands( _Commands()_ )

Expressão Uma variável que representa um objeto Event .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Comandos() Obrigatório Long Uma matriz de intervalos de comandos e um valor True ou False especificando como filtrar eventos para cada intervalo de comandos.

Valor de retorno

Nada

Comentários

Quando um objeto Event criado com o método AddAdvise é adicionado à coleção EventList de um objeto de origem, o comportamento padrão é que todas as ocorrências desse evento sejam passadas para o coletor de eventos. O método SetFilterCommands oferece uma forma de ignorar eventos selecionados baseados na ID do comando.

O parâmetro Commands() passado para SetFilterCommands é uma matriz definida da maneira a seguir.

O número de elementos em Commands() é um múltiplo de 3:

  • O primeiro elemento contém a ID inicial de comando do intervalo (qualquer membro de VisUICmds ).

  • O segundo elemento contém a ID final de comando do intervalo (qualquer membro de VisUICmds).

  • O terceiro elemento contém um valor True ou False, que indica se você está escutando eventos desse intervalo de comando (True para escutar a eventos; False para excluir eventos).

Para um evento passar com êxito por um filtro de comando, ele deve satisfazer os seguintes critérios:

  • Deve ter uma ID de comando válida.

  • Se todos os filtros forem True, o evento deverá corresponder a pelo menos um filtro.

  • Se todos os filtros forem False, o evento não deverá corresponder a nenhum filtro.

  • Se os filtros forem uma mistura de True e False, o evento deverá corresponder a pelo menos um filtro True e não deverá corresponder a nenhum filtro False.

Se não existirem intervalos True na matriz, os eventos serão considerados True.

Por exemplo, para configurar uma matriz que bloqueia um único comando, use o seguinte:

 
    Dim aFilterCommands(1 To (1 * 3)) As Long  
 
    'Ignore the layout command. 
    aFilterCommands(1) = visCmdLayoutDynamic  
    aFilterCommands(2) = visCmdLayoutDynamic  
    aFilterCommands(3) = False 

Ou, para configurar uma matriz que escuta somente o comando Enviar para Trás:

 
    Dim aFilterCommands(1 To (3 * 3)) As Long  
 
    'Pay attention to the "Send to Back" command.  
    aFilterCommands(1) = visCmdObjectSendToBack  
    aFilterCommands(2) = visCmdObjectSendToBack  
    aFilterCommands(3) = True  
 
    'Ignore any command IDs before the "Send to Back" command.  
    aFilterCommands(4) = visCmdFirst  
    aFilterCommands(5) = visCmdObjectSendToBack - 1  
    aFilterCommands(6) = False  
 
    'Ignore any command IDs after the "Send to Back" command.  
    aFilterCommands(7) = visCmdObjectSendToBack + 1  
    aFilterCommands(8) = visCmdLast  
    aFilterCommands(9) = False 

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.