Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2020, 09:26   #1
marat55555
Новичок
Джуниор
 
Регистрация: 26.02.2020
Сообщений: 1
По умолчанию Передача переменной через форму

Комрады, прошу совета! В VBA новичок, не могу разобраться с передачей переменной через элемент формы TextBox.

Код упростил. Создаю встроенными элементами VBA форму. В ней 2 элемента: кнопка Button и клавиша обработки Command Button. Задача: при запуске макроса появляется форма, при нажатии элемента Button динамически появляется поле формы TextBox, в которое необходимо внести текст.После нажатия кнопки ЖМИ (Command Button) скрипт должен вывести в диалоговое окно введенную строку. Не могу разобраться, почему не передается значение. Подскажите с правильным кодом.

Создаю форму
Код:
Private Sub CommandButton1_Click()

  sItem = oTextBox


Call ЭтаКнига.TEMP(oTextBox)

End Sub

Private Sub optButton_Click()



 
If optButton.Value = True Then
        
        

 
 
        Dim oTextBox As Control
        
        Set oTextBox = UserForm1.Controls.Add("Forms.TextBox.1")
        
        
        With oTextBox
            .Name = optItem

            
       End With
       
       
       
MsgBox TypeName(oTextBox)
MsgBox (oTextBox)

        
    End If
    
End Sub


Private Sub UserForm_Click()

End Sub
Затем в разделе ЭтаКнига объявлю процедуру
Код:
Sub TEMP_Open()

    UserForm1.Show
   
    
End Sub

Sub TEMP(oTextBox)

Dim sItem As String
'sItem = optItem
' MsgBox TypeName(oTextBox)

 MsgBox oTextBox
 
End Sub
Как правильно вывести содержимое Textbox'a?
marat55555 вне форума Ответить с цитированием
Старый 27.02.2020, 21:25   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

не возможно из букв "П", "О", "Ж" и "А"
написать слово ВЕЧНОСТЬ
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.02.2020, 04:42   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Как вариант, создайте глобальную строковую переменную и сохраняйте в ней все, что угодно на любом этапе выполнения любой процедуры.
Такая переменная будет доступна при обращении к ней из любого модуля.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передача значения переменной одной формы в описание переменной другой diekster Общие вопросы Delphi 14 18.05.2014 02:42
Передача данных в ячейки Excel через форму SashaS Microsoft Office Excel 11 11.03.2012 16:43
Передача переменной через сокет Yura_S Общие вопросы Delphi 3 25.03.2010 09:53
Ввод переменной в форму Исраил JavaScript, Ajax 2 21.09.2009 01:02
Передача переменной из формы в форму k1r1ch Общие вопросы Delphi 2 25.06.2009 15:50