Как правильно вызвать процедуру из рабочей книги?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
МоКом
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 21
Зарегистрирован: 08.06.2005 (Ср) 11:18
Откуда: Москва

Как правильно вызвать процедуру из рабочей книги?

Сообщение МоКом » 08.06.2005 (Ср) 14:02

Как правильно вызвать процедуру из рабочей книги?

Как правильно написать вызов процедуры из рабочей книги, например, my_work.xls, если эта процедура (например с именем my_sub) размещена в личной книге макросов PERSONAL.XLS ?

Если процедура не имеет параметров, то можно обойтись следующим:
Application.Run "PERSONAL.XLS!my_sub"

А если процедура с параметрами?

a_mayor
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 02.06.2005 (Чт) 21:44

Сообщение a_mayor » 08.06.2005 (Ср) 14:11

Код: Выделить всё

Private Sub CommandButton1_Click()
    Dim wrkBook As Workbook
   
    Set wrkBook = Workbooks.Open("PERSONAL.XLS")
    wrkBook.my_sub 1, 2, 3, 4
   
    wrkBook.Close
End Sub

МоКом
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 21
Зарегистрирован: 08.06.2005 (Ср) 11:18
Откуда: Москва

Сообщение МоКом » 08.06.2005 (Ср) 17:41

Дело в том, что PERSONAL.XLS - это личная книга макросов. Поэтому, насколько я понимаю, она открывается всякий раз при запуске Excel. Таким образом ее открывать неет необходимости.

Как тогда изменить строку:
Set wrkBook = Workbooks.Open("PERSONAL.XLS")

МоКом
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 21
Зарегистрирован: 08.06.2005 (Ср) 11:18
Откуда: Москва

Сообщение МоКом » 12.06.2005 (Вс) 10:54

Проблема решена - спасибо (ох уж это Микрософт офисе 2003 :wink: )


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 86

    TopList