powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / HELP!!! Как передать переменные из одной процедуры в другую?
10 сообщений из 10, страница 1 из 1
HELP!!! Как передать переменные из одной процедуры в другую?
    #34756368
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим есть скрипт:

Public Sub ExampleOfOpenFile()
Dim vFilename As Variant
vFilename = Application.GetOpenFilename("")
If vFilename = False Then Exit Sub
Call Primer1
End Sub

Как передать полученное в результате выполнения процедуры значение переменной vFilename в другую процедуру, которая будет выполняться следующей (в данном случае - в процедуру Primer1)?
Заранее спасибо...
...
Рейтинг: 0 / 0
HELP!!! Как передать переменные из одной процедуры в другую?
    #34756428
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Public Sub ExampleOfOpenFile()
Dim vFilename As Variant
    vFilename = Application.GetOpenFilename("")
    If vFilename = False Then Exit Sub
    Call Primer1(CStr(vFilename))
End Sub
Sub Primer1(InputVarible As String)
    MsgBox "Нолученное значение переменной " & vbLf & InputVarible
End Sub
...
Рейтинг: 0 / 0
HELP!!! Как передать переменные из одной процедуры в другую?
    #34756449
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbapro
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Public Sub ExampleOfOpenFile()
Dim vFilename As Variant
    vFilename = Application.GetOpenFilename("")
    If vFilename = False Then Exit Sub
    Call Primer1(CStr(vFilename))
End Sub
Sub Primer1(InputVarible As String)
    MsgBox "Нолученное значение переменной " & vbLf & InputVarible
End Sub


Биг респект! Правда я нашел несколько иное решение, но это тоже кое-где использовал! Спасибо!
...
Рейтинг: 0 / 0
HELP!!! Как передать переменные из одной процедуры в другую?
    #34756463
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пожалуйста:)
Wipeout2097...я нашел несколько иное решение, но это тоже кое-где использовал!...интересно какое решение? Если глобальная переменная, то считается, что передача параметра вариант более грамотный.
...
Рейтинг: 0 / 0
HELP!!! Как передать переменные из одной процедуры в другую?
    #34756504
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbaproпожалуйста:)
Wipeout2097...я нашел несколько иное решение, но это тоже кое-где использовал!...интересно какое решение? Если глобальная переменная, то считается, что передача параметра вариант более грамотный.

Да я забыл, что переменная передается в TextBox формы, которая во время выполнения макроса открыта. Поэтому достаточно было написать:

TextBox = Application.GetOpenFilename(""), хотя TextBox не объявлена в Public Sub ExampleOfOpenFile()
...
Рейтинг: 0 / 0
HELP!!! Как передать переменные из одной процедуры в другую?
    #34756507
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbaproпожалуйста:)
Wipeout2097...я нашел несколько иное решение, но это тоже кое-где использовал!...интересно какое решение? Если глобальная переменная, то считается, что передача параметра вариант более грамотный.


Я просто пытаюсь создать имитацию элемента SelectFile Class из барахолки ActiveX, с которым у меня книга не хочет сохраняться.
Вроде бы получилось. Все работает.
...
Рейтинг: 0 / 0
HELP!!! Как передать переменные из одной процедуры в другую?
    #34756549
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий случай, GetOpenFileName позволяет выбирать сразу несколько файлов, но "Error-Handling" тогда уже другой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub test() 
    Dim FileName As Variant, i As Long 
    FileName = Application.GetOpenFilename(FileFilter:="Excel Files, *.xls", MultiSelect:=True) 
    If Not IsArray(FileName) Then Exit Sub 
    For i =  1  To UBound(FileName) 
        MsgBox FileName(i)
        ' Workbooks.Open Filename:=FileName(i) 
    Next i 
End Sub

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
HELP!!! Как передать переменные из одной процедуры в другую?
    #34756615
Фотография Wipeout2097
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)На всякий случай, GetOpenFileName позволяет выбирать сразу несколько файлов, но "Error-Handling" тогда уже другой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub test() 
    Dim FileName As Variant, i As Long 
    FileName = Application.GetOpenFilename(FileFilter:="Excel Files, *.xls", MultiSelect:=True) 
    If Not IsArray(FileName) Then Exit Sub 
    For i =  1  To UBound(FileName) 
        MsgBox FileName(i)
        ' Workbooks.Open Filename:=FileName(i) 
    Next i 
End Sub

KL
[MVP - Microsoft Excel]

Не, у меня всё несколько проще. У меня заведомо сделана форма с 12-ю кнопками обзора и рядом с каждой свой TextBox. Для каждого события CommandButton_Click у меня свой GetOpenFilename.
Может, конечно, и не совсем спортивно, но в принципе мне от GetOpen нужно только то, что б указанные адреса файлов вставлялись в TexstBox'ы...
...
Рейтинг: 0 / 0
HELP!!! Как передать переменные из одной процедуры в другую?
    #34756661
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wipeout2097Не, у меня всё несколько проще. У меня заведомо сделана форма с 12-ю кнопками обзора и рядом с каждой свой TextBox. Для каждого события CommandButton_Click у меня свой GetOpenFilename.
Может, конечно, и не совсем спортивно, но в принципе мне от GetOpen нужно только то, что б указанные адреса файлов вставлялись в TexstBox'ы...
Насчет проще - это еще с какой стороны посмотреть, но своя рука - владыка ;-)

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
HELP!!! Как передать переменные из одной процедуры в другую?
    #34756702
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не легче ли в одну папку все файлы с отчётностью п/п-й кинуть, а потом все их обойти.
Есть ещё очень простой вариант выбрать все имена файлов в директории и поместить на лист по выбору этого листа, а потом рядышком пользователь помечает какие нужны, какие нет
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / HELP!!! Как передать переменные из одной процедуры в другую?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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