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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2011, 19:52   #1
Denis Ch
Пользователь
 
Регистрация: 07.02.2011
Сообщений: 15
По умолчанию Сохранение, введенного пользователем, значения в поле TextBox, при повторном вызове формы

Здравствуйте.Столкнулся с такой проблемой- как сохранить данные, введенные пользователем в поле TextBox при первом вызове пользовательской формы, при повторном вызове пользовательской формы.
В поле TextBox, пользовательской формы, прописывается название документа(а именно в моем случае объекта), затем эти данные записываются в текстовое поле Excel с именем TextBox 7.Мне нужно чтобы при повторном вызове пользовательской формы в поле TextBox сохранилось то название, которое я ввел при первом вызове.
Вот часть кода:

Код:
Private Sub Name_Objekt_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Name_Objekt.SetFocus
ActiveSheet.Shapes.Range(Array("TextBox 7")).Select
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = Name_Objekt
End Sub
Denis Ch вне форума Ответить с цитированием
Старый 20.02.2011, 19:59   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

ИМХО самое простое - сохранять это значение в какой-нибудь ячейке рабочего листа, любой.
И затем считывать значение из этой ячейки
При запуске файла очищать эту ячейку. При первом вызове формы текстбокс будет пустой.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 20.02.2011, 20:01   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Самый прстой и менее надежный способ хранить в переменной
Как вариант ячейка листа
Код:
Модуль
Public  My_Peremennaja  As String
Форма
Код:
Private Sub UserForm_Activate()
 Name_Objektþ.Text = My_Peremennaja
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
My_Peremennaja = Name_Objektþ.Text
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 20.02.2011, 20:20   #4
Denis Ch
Пользователь
 
Регистрация: 07.02.2011
Сообщений: 15
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Самый прстой и менее надежный способ хранить в переменной
Как вариант ячейка листа
Код:
Модуль
Public  My_Peremennaja  As String
Форма
Код:
Private Sub UserForm_Activate()
 Name_Objektþ.Text = My_Peremennaja
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
My_Peremennaja = Name_Objektþ.Text
End Sub
Спасибо огромное, попробую отпишусь чуть позже что из этого получилось.
Denis Ch вне форума Ответить с цитированием
Старый 21.02.2011, 10:01   #5
Denis Ch
Пользователь
 
Регистрация: 07.02.2011
Сообщений: 15
По умолчанию

Попробовал метод хранения в переменной, но ничего не вышло.Наверное что-то не так сделал.Изменил код следующим образом:
Код:
Private Sub CancelButton_Click()
    Unload Тип_КП
End Sub

Private Sub Name_Objekt_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Name_Objekt.SetFocus
ActiveSheet.Shapes.Range(Array("TextBox 7")).Select
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = Name_Objekt
End Sub

Private Sub Тип_КП_Activate()
 Name_Objekt.Text = My_Peremennaja
End Sub

Private Sub Тип_КП_QueryClose(Cancel As Integer, CloseMode As Integer)
My_Peremennaja = Name_Objekt.Text
End Sub
В модуль добавил код:
Код:
Public  My_Peremennaja  As String
В результате при каждой вызове получается что форма остаётся пустой.
Имя пользовательской формы Тип_КП.Подскажите что я неправильно делаю?

Последний раз редактировалось Denis Ch; 21.02.2011 в 10:07.
Denis Ch вне форума Ответить с цитированием
Старый 21.02.2011, 10:14   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Попробуйте явно указать, какого модуля переменная. Мне помогало.
Module1.My_Peremennaja = Name_Objekt.Text
Name_Objekt.Text = Module1.My_Peremennaja
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 21.02.2011, 10:20   #7
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

А не выгружайте форму. Прячьте:
Код:
Private Sub CancelButton_Click()
  me.Hide
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 21.02.2011 в 10:39.
kuklp вне форума Ответить с цитированием
Старый 21.02.2011, 10:41   #8
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Попробуйте явно указать, какого модуля переменная. Мне помогало.
Module1.My_Peremennaja = Name_Objekt.Text
Name_Objekt.Text = Module1.My_Peremennaja
Игорь, при выгрузке формы переменная очищается.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 21.02.2011, 10:55   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Сергей, а если переменная глобальная из модуля? Не должна очищаться.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 21.02.2011, 10:56   #10
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

смотрите вложение
Вложения
Тип файла: rar Не может быть.rar (12.6 Кб, 95 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятное Acces Violation при вызове Create у формы из Avaliable forms Человек_Борща Общие вопросы Delphi 11 26.08.2010 14:28
ошибки при вызове формы из потока пауэрлифтинг Общие вопросы Delphi 0 24.03.2010 23:04
как присвоить все три значения вектору В и вывести его как массив столбец при вызове функции Tomoa Microsoft Office Excel 8 08.03.2010 20:42
Не обновляется поле при выборе значения Agapov_stas Microsoft Office Access 5 29.01.2010 10:29
потеря параметров при вызове формы из dll... Roof Общие вопросы Delphi 4 22.08.2008 22:08