Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
При попытке выбора диапазонов в форме с помощью RefEdit в том числе зависает Excel
 
ZVI, спасибо.
При попытке выбора диапазонов в форме с помощью RefEdit в том числе зависает Excel
 
Собственно, практически решило проблему:
Цитата
RefEdit event procedures should be avoided

Обработчики c RefEdit убрал вообще. Поставил передачу фокуса на ComboBox по событию Frame_Click и т.п. Не знаю, сколько теперь продержится, но (!!!) вообще пропала ошибка при использовании Workbooks.Open. Вообще. А с обработчкими RefEdit - через раз, и неважно, с какими параметрами открывать, восстанавливать и т.д.
При попытке выбора диапазонов в форме с помощью RefEdit в том числе зависает Excel
 
Цитата
The_Prist написал:
1. Как открывается форма?
F5 в редакторе  VBA, модальный режим. А потом - как надстрой либо пунктом меню, либо по горячим клавишам.
Цитата
The_Prist написал:
2. RefEdit сам по себе очень неустойчивый элемент.
Я так и подумал. С чувством глубокого неудовлетворения прочел:
Скрытый текст

Я не понимаю, как такое возможно, а именно: зачем выпускать сырой продукт? По уму, так отказаться от использования RefEdit. ©Поймать и набить ему морду, что выдумал мало созвучий, что выдумал мало аккордов.

За советы - спасибо. Буду думать...
При попытке выбора диапазонов в форме с помощью RefEdit в том числе зависает Excel
 
Доброго времени суток, уважаемые знатоки.

По существу вопроса: есть некая форма, содержащая в себе сегмент для источника данных и приемника данных. Оба сегмента устроены одинково: для каждого в объекте Frame находятся два RefEdit для выбора требуетмых диапазонов, CommandButton для открытия файла с данными, ComboBox для выбора книги, в которой RefEdit будут выбирать диапазоны. При инициализации формы имена открытых рабочих книг попадают в ComboBox'ы с тем, чтобы пользователь мог выбрать себе любую книгу, после чего он с помощью RefEdit отбирает нужные диапазоны; если открытых книг пользователю не хватило, то можно их окрыть, для чего и есть в каждом Frame соответствующие кнопки. При активированнии RefEdit автоматически должна активироваться книга, выбранная соответствующим ComboBox (вообще это сделано через Frame_Enter(), фокус передается на ComboBox).

Проблема состоит в том, что вся эта схема работает первые "десять кликов". Попробуйте беспорядочно и хаотично (проявите терпение) открывать файлы, выбирать диапазоны и т.п. Со временем Excel банально повиснет, а файлы перестанут открываться (пробовал на разных машинах, где-то держится дольше, где-то эффекты негативные быстрее проявляются).

Вопрос: почему? Что с кодом не так? В какую сторону копать? Я предполагаю, что с RefEdit'ами (это единственный динамический элемент) что-то не так, что-то вроде Stack Overflow, Buffer Overflow. Пока вижу такое решение: каким-то образом отследить либо заданное количество кликов по форме, либо заданное время, скопировать все значения всех элементов в форму-близнеца, форму-источник уничтожить, а потом - наоборот.

Мне понятно, что пользователь не будет просто так кликать, что выберет себе нужное и запустит расчеты, но червячок точит: а вдруг "запаса прочности" хватит только на 5 кликов??? И Марья Ивановна, увидев обрушение Excel, схватит себе несварение? Из-за меня...

Пробовал на Excel 2010, Win 7 64 бита; Excel 2010, Win 7 32 бита.

Заранее спасибо.
Страницы: 1
Наверх