ambiguous name detected vba что за ошибка

При обнаружении ошибки в программном коде компилятор Visual Basic 6.0выдает стандартное окно сообщения, которое содержит информацию о коде (Run-time error ‘438’) и названии (Object doesn’t support this property or method) ошибки (рис.5). Ошибки, связанные с процедурами и объектами, выделяются желтым «маркером» (рис.6). Ошибки, связанные с методами или свойствами самих объектов, выделяются синим «маркером» (рис.7). Для исправления ошибки следует приостановить работу проекта, ввести верный программный код, а затем снова запустить проект.

Некоторые наиболее часто встречающиеся ошибки:

1. Invalid outside procedure – неверная внешняя процедура;

2. Type mismatch – несоответствие типов;

3. Sub or Function not defined – процедура или функция не определена;

4. Next/For without For/Next – Next/For без For/Next: неправильная организация цикла;

5. If/EndIf without EndIf/If – If/EndIf без EndIf/If : неправильная запись условного оператора;

6. Select Case / (End Select) without End Select / (Select Case) —Select Case/(End Select) без End Select / (Select Case): неверная запись оператора выбора;

7. Object required – требуется объект;

8. Overflow – переполнение;

9. Subscript out of range– значение вне диапазона;

10. Duplicate declaration in current scope– двойное объявление в текущем диапазоне;

11. Division by zero – деление на ноль;

12. Statements and Labels invalid between Select Case and First Case –записи и метки неверны между Select Case и First Case;

13. Method or Data member not found – метод или часть данных не найдена;

14. Variable not defined – переменная не определена;

15. Invalid procedure call or argument – неправильный вызов процедуры или аргумент;

16. User-defined type not defined – пользовательский тип не определен;

17. Object doesn’t support this property or method – объект не поддерживает это свойство ли метод;

18. Ambiguous name detected: nameобъекта_событие – обнаружено неоднозначное имя;

19. Only comments may appear after End Sub, End Function, or End Property– только комментарии могут появляться после End Sub, End Function, или End Property;

20. Statement invalid outside Type Block– неверная запись вне блока.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Сдача сессии и защита диплома — страшная бессонница, которая потом кажется страшным сном. 8792 — | 7154 — или читать все.

78.85.5.224 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Идентификатор конфликтует с другим идентификатором или требует квалификации. The identifier conflicts with another identifier or requires qualification. Эта ошибка имеет следующие причины и способы решения: This error has the following causes and solutions:

Элементы с одинаковыми именами могут принадлежать нескольким объектам в одной и той же области видимости. More than one object in the same scope may have elements with the same name.

Квалифицируйте имя элемента, указывая имя объекта и точку. Qualify the element name by including the object name and a period. Пример: For example:

Идентификаторы уровня модуля и идентификаторы уровня проекта (имена модуля и имена связанных проектов) могут повторно использоваться в процедуре, хотя это усложняет сопровождение и отладку программы. Module-level identifiers and project-level identifiers (module names and referenced project names) may be reused in a procedure, although it makes programs harder to maintain and debug. Но, если нужно сослаться в одной процедуре на оба элемента, необходимо квалифицировать элемент с более широкой областью видимости. However, if you want to refer to both items in the same procedure, the item having wider scope must be qualified. Например, если переменная MyID объявлена на уровне модуля MyModule , а затем в модуле на уровне процедуры объявлена переменная с тем же именем, ссылки на переменную уровня модуля должны быть соответствующим образом квалифицированы: For example, if MyID is declared at the module level of MyModule , and then a procedure-level variable is declared with the same name in the module, references to the module-level variable must be appropriately qualified:

Идентификатор, объявленный на уровне модуля, конфликтует с именем процедуры. An identifier declared at module-level conflicts with a procedure name. Например, эта ошибка возникает, если переменная MyID объявлена на уровне модуля, а затем определена процедура с таким же именем: For example, this error occurs if the variable MyID is declared at module level, and then a procedure is defined with the same name:

В этом случае необходимо изменить можно из имен, так как квалификация с общим именем модуля не разрешит неоднозначность. In this case, you must change one of the names because qualification with a common module name would not resolve the ambiguity. Имена процедур по умолчанию являются общедоступными (Public), а имена переменных — частными (Private), если они не объявлены как Public. Procedure names are Public by default, but variable names are Private unless specified as Public.

Для получения дополнительной информации выберите необходимый элемент и нажмите клавишу F1 (для Windows) или HELP (для Macintosh). For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Ambiguous name detected

The identifier conflicts with another identifier or requires qualification. This error has the following causes and solutions:

More than one object in the same scope may have elements with the same name.

Qualify the element name by including the object name and a period. For example:

Module-level identifiers andproject-level identifiers (module names and referenced project names) may be reused in aprocedure, although it makes programs harder to maintain and debug. However, if you want to refer to both items in the same procedure, the item having wider scope must be qualified. For example, if MyID is declared at the module level of MyModule , and then a procedure-levelvariable is declared with the same name in the module, references to the module-level variable must be appropriately qualified:

  • An identifier declared at module-level conflicts with a procedure name. For example, this error occurs if the variable MyID is declared at module level, and then a procedure is defined with the same name:

For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).

Оцените статью