powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вопрос по передаче значений переменных между Sub-подпрограммами ?
5 сообщений из 5, страница 1 из 1
Вопрос по передаче значений переменных между Sub-подпрограммами ?
    #39788833
Yuri KR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Подскажите по вопросу передачи значений переменных из одной подпрограммы в другую.

Открываю Excel книгу и присваиваю переменной FN_PRG имя открытой книги оператором FN_PRG = Application.ActiveWorkbook.Name
Отладчик показывает, что имя присвоено и все ОК.

Далее пытаюсь использовать переменную FN_PRG в основном модуле, но она уже видится как пустая строка" " - Empty
Пробовал разные варианты - определял переменную в основном модуле или в процедуре открытия...
Результат везде отрицательный.
Подпрограммы определены как Public и по идее видимость переменной обеспечена...

Подскажите в чем может быть дело?
Как передавать значения переменных из модуля в модуль?
Спасибо!

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Sub WorkBook_Open()
  Dim FN_PRG As String
  FN_PRG = Application.ActiveWorkbook.Name
  Debug.Print "ИМЯ КНИГИ при открытии- "; FN_PRG
  UserForm1.Show
End Sub

Public Sub ConnectExcel()
   Debug.Print "FN_PRG в подпрограмме Connect- "; FN_PRG
End Sub

Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Вопрос по передаче значений переменных между Sub-подпрограммами ?
    #39788852
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изучаем темы учебника
1) области видимости переменных (локальная переменная одной процедуры в другой не видна)
2) параметры процедур (нужно просто передать значение переменной FN_PRG в процедуру ConnectExcel через параметры)
3) https://www.sql.ru/faq/faq_topic.aspx?fid=2539
...
Рейтинг: 0 / 0
Вопрос по передаче значений переменных между Sub-подпрограммами ?
    #39788964
Yuri KR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

1) области видимости переменных (локальная переменная одной процедуры в другой не видна)
А почему они локальные, если подпрограммы объявлены вроде как Public и видимость по идее должна быть...

2) параметры процедур (нужно просто передать значение переменной FN_PRG в процедуру ConnectExcel через параметры)
с этим полностью согласен...
получается, что FN_PRG в двух подпрограммах просто разные FN_PRG, хоть и имя совпадает, так?

Ну и для контроля включил - Option Explicit
...
Рейтинг: 0 / 0
Вопрос по передаче значений переменных между Sub-подпрограммами ?
    #39788977
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuri KRА почему они локальные, если подпрограммы объявлены вроде как PublicПодпрограммы Public, переменные - нетYuri KRвидимость по идее должна быть...зачем выдумывать какие-то идеи, если есть спецификация, синтаксис языка и т.п.?
Yuri KRв двух подпрограммах просто разные FN_PRG, хоть и имя совпадает, так?да, и именно это покажет Option Explicit
...
Рейтинг: 0 / 0
Вопрос по передаче значений переменных между Sub-подпрограммами ?
    #39790443
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuri KRКак передавать значения переменных из модуля в модуль?Здесь с примерами кодов расписывал как надо объявлять переменные: Что такое переменная и как правильно её объявить?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вопрос по передаче значений переменных между Sub-подпрограммами ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]