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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2008, 13:55   #1
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию Помогите советом! Как выгрузить форму из памяти?

Буду признательна за помощь!!!
Bezdar вне форума Ответить с цитированием
Старый 01.09.2008, 14:18   #2
vladtr
Форумчанин
 
Регистрация: 28.07.2008
Сообщений: 119
По умолчанию

Цитата:
Сообщение от Bezdar Посмотреть сообщение
Буду признательна за помощь!!!
Заходите в проект <Alt+F11> - выбираете форму, правой кнопкой - export file. И выгружаете куда надо...
vladtr вне форума Ответить с цитированием
Старый 01.09.2008, 14:53   #3
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

Цитата:
Сообщение от vladtr Посмотреть сообщение
И выгружаете куда надо...
Так мне надо "из", а не "в"!!!
Bezdar вне форума Ответить с цитированием
Старый 01.09.2008, 15:06   #4
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Unload Me
или
Unload UserForm1
p.s. файл-пример к книге Дж.Уокенбаха
Вложения
Тип файла: zip userform events.zip (13.2 Кб, 43 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 01.09.2008 в 15:10.
VictorM вне форума Ответить с цитированием
Старый 01.09.2008, 16:26   #5
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

Я и выгружаю через Unload. А тут прочла, что Unload только в VB, а в VBA такого события нет!!! Так и получается, что нет, потому что значения переменных при выгрузке формы из памяти не обнуляются! Что же делать???
Bezdar вне форума Ответить с цитированием
Старый 01.09.2008, 16:46   #6
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Так может вопрос стоит в обнулении переменных, а не в выгрузке формы?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 01.09.2008, 17:30   #7
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

Вопрос стоит именно в обнулении данных. Т.е. при загрузке формы формируются определенные данные. Если форма не выгружена из памяти, при повторном запуске данные формируются некорректно (с учетом старых)!!!
Да не суть важно! Вот час от часу не легче! Я то думала, почему у меня периодически то выгружается форма, то нет. Сейчас еще поэкспериментирую, но кажется дело в том, что у меня на событии QueryClose стоит запрет закрытия формы нажатием на "крест". А если не стоит - все ОК. Но что же делать, если ну никак нельзя на крест тыркать??? Получается, либо одно - либо другое???
Bezdar вне форума Ответить с цитированием
Старый 02.09.2008, 05:21   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Не очень понятно, что все-таки у Вас не срабатывает.
При загрузке формы (Show или Load), значения всех элементов управления устанавливаются в соответствии с определенным пользователем значением свойства Value.
Когда форма UserForm выгружается из памяти (Unload), элементы управления, содержавшиеся на ней, возвращаются в первоначальное состояние (Value). Другими словами, в коде нельзя обращаться к значениям, указываемым пользователем, после того, как форма выгружена из памяти. Если значения, введенные пользователем, будут применяться позже (после выгрузки диалогового окна UserForm), то необходимо сохранить их в переменной с областью действия Public, которая определена в стандартном модуле VBA. Кроме того, значение всегда можно сохранить в ячейке листа.
Диалоговое окно автоматически выгружается из памяти, когда пользователь щелкает на кнопке "Отмена" (Кнопка X в строке заголовке окна). Это действие приводит к возникновению события QueryClose объекта UserForm, после которого генерируется событие Terminate объекта UserForm.
Объект UserForm может использовать метод Hide. При вызове этого метода диалоговое окно исчезает, но остается в памяти, поэтому в коде можно получить доступ к различным свойствам элементов управления.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 02.09.2008, 09:06   #9
Bezdar
Форумчанин
 
Регистрация: 03.06.2008
Сообщений: 213
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
.
Диалоговое окно автоматически выгружается из памяти, когда пользователь щелкает на кнопке "Отмена" (Кнопка X в строке заголовке окна)
Вот суть то как раз и в том, что на событии QueryClose у меня висит запрет закрытия формы крестом. А это в свою очередь приводит к тому, что форма при закрытии не выгружается из памяти. А мне надо, чтобы выгружалась.
Bezdar вне форума Ответить с цитированием
Старый 02.09.2008, 13:32   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Т.е. Вы запрещаете выгружать форму, и при этом говорите
Цитата:
А мне надо, чтобы выгружалась
Что будем делать?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите советом! Как сделать форму сворачиваемой? Bezdar Microsoft Office Excel 3 18.08.2008 13:52
Помогите советом Михаил Юрьевич Общие вопросы Delphi 5 31.05.2008 16:38
Помогите советом Михаил Юрьевич Общие вопросы Delphi 8 24.05.2008 14:17
Помогите советом ! Михаил Юрьевич Общие вопросы Delphi 2 16.05.2008 23:51
Программно выгрузить DLL из памяти Air Помощь студентам 7 01.05.2008 00:06