| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование, связанное с MS Office > Как передать переменную с одного кода в другой? |
| Автор: Izuver 25.9.2006, 23:13 |
| К примеру: Sub qw() wq y=x*10 End sub Sub wq() x=13 End sub Как в qw задать x=13 |
| Автор: Genyaa 25.9.2006, 23:41 | ||||
Если я правильно понял вопрос...
А лучше объявить переменную явно:
|
| Автор: Akina 26.9.2006, 07:21 | ||
или сделать переменную глобальной - уровня модуля или уровня приложения.
|
| Автор: Izuver 26.9.2006, 21:40 |
| Хорошо все это для это примера, но если коды не одном модуле, а один в Module1\Sub qw(), а второй в UserForm1\Private Sub CommandButton1_Click() и сам x это адресс, к примеру "C:\Program Files"? |
| Автор: Izuver 27.9.2006, 22:24 | ||
Да, да, именно так я прочитал сегодня в книжке, только работает не при Public x As Integer, а при Public x As String, хотя разницы в них не смыслю. |
| Автор: Cyric 28.9.2006, 11:43 | ||
| Integer - целочисленная переменная, String - строковая. Соответственно для значения 13 подойдёт первая переменная, для строки пути к папке - вторая. Если проблемы с типами, то можете их не указывать, по-умолчанию переменные создаются типа Variant. А вобще через глобальные переменные передавать всё что попало я считаю не правильно. Если нужная вам переменная это результат выполнения какой-то функции, то логично сделать её выходным параметром.
Чтобы вызывать функции из других модулей они должны быть описаны как public и обращаться к ним нужно так: (название модуля).(имя переменной/функции) |