新建关键字的使用无效

New 关键字只能应用于可创建对象(自动化对象的实例)。 此错误具有以下原因和解决方法:

  • 您尝试实例化某个只能包含一个实例的对象。 例如,您尝试通过在类似于下面的语句中指定 来创建Module1的新实例:

      Dim MyMod As New Module1 
    

    您无法创建新实例,因为一个模块只能包含一个实例。

  • 您尝试实例化自动化对象,但它不是可创建对象。 例如,您尝试通过在语句中指定 ListBox 来创建列表框的新实例,如下所示:

        ' 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 
    

ListBoxForm 是类名,而不是特定的对象名称。 使用它们可指定 变量 将是对特定 对象类型的引用,就像上面有效的 Dim 语句一样。 但您无法使用它们实例化 Set 语句中的对象本身。 您必须在 Set 语句中指定特定对象而不是泛型类名称:

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

有关其他信息,选择有问题的项并按 F1(在 Windows 中)或 HELP(在 Macintosh 上)。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。