Страницы: 1
RSS
Лишние поля для ввода (SearchWorkbook.xla)
 
День добрый.  
 
SearchWorkbook.xla - эту надстройку от Educated Fool я установил в папку XLSTART.  
Но почему-то у меня получилось 3 поля для ввода, вместо одного. Подскажите пожалуйста, в чём я согрешил?
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Я думаю, по закрытии надстройки эти поля должны убиваться. Возможно, два раза некорректно Эксель закрылся, или код пошагово прогоняли не до конца.
 
Ну да:  
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)  
   On Error Resume Next  
   ' удаляем поле, если оно уже присутствует на панели  
   Application.CommandBars(1).FindControl(, , "SearchCellAddin").Delete  
End Sub  
 
Запустите этот код пару раз вручную.
 
Can't execute code in break mode  
Я думаю, что в этом рабочем терминале, где стоит рабочая программа, стоит запрет на макросы. Потому что он даже вставлять в модуль не хочет Ваш код,  Hugo.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Владимир}{date=29.08.2011 03:07}{thema=}{post}Can't execute code in break mode{/post}{/quote}Владимир, вставить не можете потому, что макрос ещё не остановлен (не завершил свою работу). Остановите его принудительно :-)
 
Спасибо, Юрий. Я попробую завтра на работе. Отпишусь.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Да просто выполните  
Application.CommandBars(1).FindControl(, , "SearchCellAddin").Delete  
хоть из debug.window или любого макроса:  
 
sub tt()  
On Error Resume Next  
' удаляем поле, если оно уже присутствует на панели  
Application.CommandBars(1).FindControl(, , "SearchCellAddin").Delete  
end sub  
 
Удалите все три, потом перезапустите Эксель с надстройкой.
 
И это был не мой код,  а код из надстройки.
 
Вообще-то, в комментариях к статье я писал, как можно от этого избавиться:  
http://excelvba.ru/code/SearchCells  
(посмотрите последний мой комментарий, и ответ пользователя на него)  
 
 
PS: Вопрос знатокам: есть идеи, почему могут появляться 3 поля?  
Не 1, не 2, не 4, не 10, - а именно 3.  
Причем, как видите, это уже как минимум второй случай (первый обнаружился в комментах к статье)
 
Так я выше высказал предположения.  
У самого вроде так было, когда в коде копался - или пару лишних раз создал, или завесил Эксель и снял задачу (например, при работе с GetObject бывает, что не тот Эксель сняли), или просто комп завис...
 
Хотя в текущей версии такого быть не должно - даже если одно окно уже будет, то оно сперва убъётся.  
Может и впрямь у Владимира первая версия окон наоставляла?
 
Спасибо, Дима.  
 
Я правильно понял, что поиск по тегу работает не всегда, или не во всех версиях Excel?
 
Вот те новость...  
"лучше всего"???  
т.е. VBA при поиске может ошибаться? Не ожидал такого.  
 
Ну да ладно, буду отныне использовать только ID и Caption.  
Ещё раз спасибо за совет - надеюсь, теперь жалоб на лишние поля не будет.  
(перезалил файл с исправлениями от The_Prist)
 
Доброе утро.  
sub tt()  
On Error Resume Next  
' удаляем поле, если оно уже присутствует на панели  
Application.CommandBars(1).FindControl(, , "SearchCellAddin").Delete  
end sub  
 
Этот код сработал, теперь полный порядок. Большое спасибо. А Игорю (EducatedFool), отдельное спасибо, за прекрасную надстройку.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Ошибка не исчезла. При открытии файла Excel, создаётся второе поле для ввода.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Владимир, т.е. вы заново загрузили надстройку (предварительно удалив предыдущий вариант) и по прежнему та же ситуация?
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Да, я последнюю версию поставил. С сайта Игоря взял её.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Скачал надстройку по ссылке выше. Почему то не устанавливается.  
Может утро : )
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
>>Скачал надстройку по ссылке выше. Почему то не устанавливается.  
>>Может утро : )  
 
Сорри. Все устанавливается) Не как не проснусь)
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Надстройка понравилась. Все работает нормально) Если возможно, я бы сделал прокрутку в окне формы колесом мыши, и, наверное, добавил горизонтальную полосу прокрутки.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
При открытии Excel автоматически создается второе поле..
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Заrarить забыл.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Прокрутку колесом я не сделаю - тут без WinAPI не обойтись, да и работать нестабильно может.  
 
Там прокручивается всё и без колеса - достаточно щелкнуть мышом на любой позиции, и, не отпуская кнопку мыши, потащить её вниз или вверх (при этом список прокручивается)  
Горизонтальную прокрутку потом добавлю (когда очередную "фишку" буду добавлять)  
 
 
===  
Владимир, попробуйте удалить файл надстройки, и сбросить настройки этой панели.  
(как написано в комменте №12 к статье)  
Сколько полей будет появляться в Excel - 0 или 1 ?
 
Сделал. Окон нет.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Надстройку восстановил. Теперь работает корректно, т.е. появляется одно окно.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
>>Горизонтальную прокрутку потом добавлю (когда очередную "фишку" буду добавлять)  
 
Могу только высказать предположение, что, возможно, понадобилось бы мне, как пользователю: искать во всех открытых книгах.  
Какую нибудь галку в настройках в этой/во всех открытых.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
Страницы: 1
Читают тему
Наверх