Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O método SetFocus move o foco para o formulário especificado, para o controle especificado no formulário ativo ou para o campo especificado na folha de dados ativa.
Sintaxe
expressão. SetFocus
expressão Uma variável que representa um objeto De controlo .
Valor de retorno
Nada
Comentários
Utilize o método SetFocus quando quiser que um determinado campo ou controlo tenha o foco para que todas as entradas de utilizador sejam direcionadas para este objeto.
Para ler algumas das propriedades de um controlo, tem de se certificar de que o controlo tem o foco. Por exemplo, uma caixa de texto deve ter o foco antes que possa ler sua propriedade Text.
Outras propriedades podem ser definidas somente quando um controle não tem o foco. Por exemplo, você não pode definir propriedades de um controle visível ou Enabled como False (0) quando que o controle tem o foco.
Você também pode usar o método SetFocus para navegar em um formulário de acordo com certas condições. Por exemplo, se o usuário selecionar não aplicável para a primeira de um conjunto de perguntas em um formulário que seja um questionário, seu código Visual Basic pode então automaticamente pule as perguntas dessa série e mover o foco para o primeiro controle no próximo conjunto de perguntas.
Você pode mover o foco somente para um controle ou formulário visível. Um formulário e controles em um formulário não ficam visíveis até que o evento Load do formulário terminou. Portanto, se você usar o método SetFocus no evento Load de um formulário para mover o foco para esse formulário, você deve usar o método Repaint antes que o método SetFocus.
Você não pode mover o foco para um controle se sua propriedade Enabled for definida como False. Tem de definir a propriedade Ativado de um controlo como Verdadeiro (1) antes de poder mover o foco para esse controlo. No entanto, você pode mover o foco para um controle se sua propriedade Locked estiver definida como True.
Se um formulário contiver controles para os quais a propriedade Enabled é definida como True, você não pode mover o foco para o próprio formulário. Você só pode mover o foco para controles no formulário. Nesse caso, se você tentar usar SetFocus para mover o foco para um formulário, o foco é definido para o controle no formulário que recebeu pela última vez o foco.
Utilize o método SetFocus para mover o foco para um subformulário, que é um tipo de controlo. Você também pode mover o foco para um controle em um subformulário usando o método SetFocus duas vezes, movendo o foco primeiro para o subformulário e depois para o controle no subformulário.
Exemplo
O exemplo seguinte utiliza o método SetFocus para mover o foco para uma caixa de texto EmployeeID num formulário Funcionários .
Forms!Employees!EmployeeID.SetFocus
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.