|
||||||||
|
Выполнение процедуры SubВы можете сделать так, чтобы процедура Sub TestCall() Процедуру, объявленную закрытой, нельзя вызывать из процедур за пределами модуля, в котором она находится. В то же время открытую процедуру можно вызывать извне ее модуля. Смысл терминов ?закрытая? и ?открытая? в данном контексте см. в разделе ?Закрытые и открытые процедуры? ранее в этой главе. Когда Вы вызываете процедуру, расположенную не в текущем модуле, Visual Basic просматривает другие модули и выполняет первую найденную открытую процедуру с указанным именем. Если имя открытой процедуры не уникально, лучше явно задать модуль, в котором она находится. В следующем примере вызывается процедура Sub с именем ?DisplayWelcome? из модуля ?TestTools?:TestTools.DisplayWelcome При необходимости можно указать и проект, в котором находится процедура. Вот пример вызова процедуры Sub с именем ?DisplayWelcome? из модуля ?TestTools?, относящегося к проекту ?TestDocument?:TestDocument.TestTools.DisplayWelcome Здесь Вы указываете кодовое имя проекта, а не имя документа, с которым связан этот проект. Выяснить кодовое имя (и изменить его) можно в поле, расположенном справа от строки ( Name) в окне свойств для данного проекта. Чтобы вывести на экран это окно, выделите подсветкой нужный проект в окне проекта и выберите из меню View (Вид) команду Properties Window (Окно свойств). Кодовое имя проекта можно изменить и по-другому ? ввести новое имя в поле Project Name (Имя проекта) на вкладке General (Общие) диалогового окна Project Properties (Свойства проекта). Чтобы открыть это диалоговое окно, щелкните правой кнопкой мыши нужный проект в окне проекта и выберите из контекстного меню команду Properties (Свойства...) (название этой команды дополняется именем проекта). Справку о параметрах, устанавливаемых в диалоговом окне Project Properties (Свойства проекта), Вы получите, нажав клавишу F1.Совет: Если Вы хотите, чтобы процедуру можно было вызывать из других модулей проекта, но не из других проектов, объявите ее открытой, а модуль, в котором она находится, ? закрытым. Для этого добавьте в раздел (Declarations) [(Описания)] данного модуля оператор Option Private Module. Чтобы процедуры одного проекта можно было вызывать из другого проекта, в последнем должна быть ссылка на проект, содержащий вызываемый код. Создаются такие ссылки с помощью диалогового окна References (Ссылки), которое открывается через меню Tools (Сервис).Примечание: Если при попытке создать ссылку из одного проекта на другой Вы получили сообщение об ошибке, убедитесь, что кодовое имя проекта, на который Вы ссылаетесь, не совпадает с кодовым именем текущего проекта. (У проектов может быть одно и то же кодовое имя, предлагаемое по умолчанию, например, ?Project? в Word или ?VBAProject? в Microsoft Excel.) Чтобы проверить кодовое имя проекта, выберите его имя в окне проекта, а затем ? команду Properties Window (Окно свойств) из меню View (Вид). Текст, присутствующий в окне свойств справа от поля (Name), и является кодовым именем проекта. Для его изменения надо выделить текущее кодовое имя и ввести новое. Учтите, что ?круговые? ссылки недопустимы: если есть ссылка на проект В из проекта А, то создать ссылку на проект А из проекта В уже нельзя.
Текст пособия подготовлен на основе материалов книги Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл. c Оригинальное издание на английском языке, Microsoft Corporation, 1997 c Русский перевод, Microsoft Corporation, 1997 |