Partilhar via


Utilização inválida de Novo palavra-chave

A nova palavra-chave só pode ser aplicada a um objeto creatível (uma instância de uma classe ou objeto de Automatização). Esse erro tem as seguintes causas e soluções:

  • Tentou instanciar algo que só pode ter uma instância. Por exemplo, tentou criar uma nova instância de um módulo ao especificar Module1 numa instrução como a seguinte:

      Dim MyMod As New Module1 
    

    Não pode criar a nova instância, uma vez que um módulo só pode ter uma instância.

  • Tentou instanciar um objeto de Automatização, mas não era um objeto criável. Por exemplo, tentou criar uma nova instância de uma caixa de listagem ao especificar a Caixa de Listagem numa instrução semelhante à seguinte:

        ' Valid syntax to create the variable. 
      Dim MyListBox As ListBox     
      Dim MyFormInst As Form 
      ' Invalid syntax to instantiate the object. 
      Set MyFormInst = New Form 
      Set MyListBox = New ListBox 
    

ListBox e Formulário são nomes de classes e não nomes de objetos específicos. Utilize-as para especificar que uma variável será uma referência a um determinado tipo de objeto, tal como acontece com as instruções Dim válidas acima. No entanto, não pode utilizá-los para instanciar os próprios objetos numa instrução Set . Tem de especificar um objeto específico, em vez do nome genérico da classe, na instrução Set :

    ' Valid syntax to create new instance of a form or list box. 
  Set MyFormInst = New Form1 
  Set MyListBox = New List1 

Saiba mais selecionando o item em questão e pressionando F1 (no Windows) ou HELP (no Macintosh).

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.