Что такое ключевое слово VBAProject? - PullRequest
2 голосов
/ 01 октября 2019

В окне Object Browser есть список используемых библиотек.

По умолчанию поставляется с:

  • Excel (Microsoft Excel версия Библиотека объектов)
  • Office (Microsoft Office версия Библиотека объектов)
  • stdole (OLE Automation)
  • VBA (Visual Basic для приложений)
  • VBAProject

Они могуттакже можно найти путем зацикливания ссылок на VBProject с использованием библиотеки VBIDE (Microsoft Visual Basic для расширений приложений версия ) за исключением VBAProject.

Является ли VBAProject библиотекой, специальным ключевым словом или чем-то ещееще? Не удалось найти какую-либо документацию по нему.

Я бы предположил, что он также является частью библиотеки VBA, но, похоже, он не отображается под ссылками.

Dim ref As VBIDE.Reference

For Each ref In Application.VBE.VBProjects(1).References
  MsgBox ref.Name & " - " & ref.Description
Next

VBAProject имееткодовые имена рабочих книг и листов.

Я также не смог удалить вручную или с кодом библиотеки Excel и VBA, чтобы проверить, исчезнет ли VBAProject (Office истдоле съемные).

1 Ответ

5 голосов
/ 01 октября 2019

Это не ключевое слово, это идентификатор, представляющий библиотеку типов COM вашего проекта VBA.

Когда проект VBA компилируется, внутренне создается библиотека типов COM - обозреватель объектов просто перечисляет все типыбиблиотеки, загруженные в данный момент в редакторе, включая библиотеку для вашего собственного проекта.

Вот почему он перечисляет «кодовые имена» всех модулей документа - если вы добавите стандартный модуль, он также будет там. :

object browser showing classes in VBAProject

И если вы переименуете свой проект ( рекомендуется , особенно для любого проекта надстройки Excel), то это уже не VBAProject:

members of MyAwesomeProject


# FunFacts: , когда VBE впервые инициализируется и создается новый проект VBA, он называется VBProject в течение нескольких миллисекунд (VB6имя проекта по умолчанию) - VBE затем переименовывает его в VBAProject ... это раньше вызывало проблемы с Rubberduck!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...