Страницы: 1
RSS
OFF. Пользовательские формы. Альтернатива.
 
Всем привет! )  
 
Недавно посетила мысль по поводу взаимодействия с пользователем (пользовательских форм). Не знаю как Вам, а мне всегда казалось, что VBA формы выглядят невзрачно, тускло, грустно. Чего стоит работа с ними (обработка событий). Замучаешься вешать обработчики, в то время как дело должно решаться обычным делегированием.  
Ближе к делу. Есть такой замечательный кантрол WebBrowser, который позволяет загружать в себя html, xml страницы. Можно тупо понаделать шаблонов и подгружать их с диска. Стили, внешний вид, все настраивается до мелочей. Появится возможность использовать анимацию! (плюшки) и не только. Динамически создавать любые элементы, гибкость. Кто что думает на этот счет?  
 
скромный пример во вложении (для работы нужен инет)
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
>>мне всегда казалось, что VBA формы выглядят невзрачно, тускло, грустно<<  
А это так принципиально для работы пользователя? Не будет ли >>возможность использовать анимацию! (плюшки) и не только<< отвлекать работника от непосредственно выполнения требуемых действий?  
И в конце концов, может тогда перейти на VSTO? Возможностей больше, в том числе и для организации украшательств.
 
сромный пример только для младших версий?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
[anvg]> А это так принципиально для работы пользователя?
нет. Но интерфейсы должны быть юзер-френдли. Зачем ремонт делают дома, мебель покупают? ) 4-е стены, они и есть 4-е стены.  
 
[anvg]> отвлекать работника от непосредственно выполнения требуемых действий?
если правильно использовать, то нет  
 
[ikki]> моя твоя не понимает
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
видать, не судьба :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
nerv, тема, конечно, очень интересная.  
Я сразу подумал добавить в свои программы форму обратной связи, основанную на таком решении (в webbrowser подгружается определённая страница моего сайта, и уже сайт отправляет информацию мне на почту)  
 
Но, немного подумав, вспомнил, что это чревато множеством проблем.  
 
Первая (и основная) - то, что компонент WebBrowser использует «браузер» Internet Explorer, который у пользователя может быть любой версии - от 5,5 до 9  
Чем это чревато - думаю, тебе объяснять не нужно.  
Любой, кто верстал страницы под IE (тем более, древних версий), знает, что куда проще реализовать всё на VBA, с его внешне ужасным интерфейсом.  
 
Вторая проблема - настройки IE на компе.  
Мне попадалось много компов (когда работал в техподдержке провайдера, настраивал инет у сотен пользователей, и с чем только не сталкивался), где:  
- IE просто не запускается - вылетает с ошибкой, в то время как остальные браузеры корректно работают  
- в настройках IE прописана всякая ерунда, из-за чего сайты в нем не открываются  
- скрипты в IE отключены, включить не удается  
- куча надстроек загружается вместе с IE, в т.ч. вирусы (часто встречал)  
- доступ в интернет настроен криво (неверно настроена сетевая карта)  
 
Как объяснять пользователю, почему у него макрос в Excel не работает?  
Настраивать ему IE? Сомнительное удовольствие... (мы с напарником, профессиональным сисадмином, порой за 1-2 часа не могли настроить IE для работы с сайтами - в то время, как остальные браузеры работали)  
 
Так что использовать невзрачные кнопочки из набора Microsoft Forms - куда надежнее. В дизайне немного теряем, в надежности - выигрываем.  
Лично для меня стабильность работы моей программы куда важнее.
 
Саня, да отличные формы, строгое оформление, как раз для деловой обработки. А интерфейс зависит от квалификации разработчика. И слава Богу, что мелкие не прут туда всяких излишков. На форумах и так полно идиотов. Тому в комбо пункты раскрась во все цвета радуги, другому кнопку там же пошире сделай(эстэт, мля), третьему ячейку по диагонали в разные цвета залей. Иной раз открываешь пример, а там такой попугай, что слезы из глаз брызжут, разобрать ничего нельзя. Заставь дурака Богу молиться... Экс - табличный процессор с чересчур избыточными возможностями. Всегда хочется ответить таким культуртрегерам: хотите попугаев - Бога ради. Си, Паскаль, VB и т.д.. Создавайте свои контролы, роюшки, бляшки, подключайте и выслушивайте проклятия тех, у кого оно не заработает или, будет вызывать критические сбои:-)
Я сам - дурнее всякого примера! ...
 
ура! Ребята включились в обсуждение : )  
 
ikki, конвертер в помощь (если ты об этом)  
 
EducatedFool,  
кантрол WebBrowser !== Internet Explorer (не равно). Это я начал подозревать, как только загрузил в первый пару тройку страниц. Дабы сейчас окончательно развеять свои сомнения, удалил IE и запустил пример. Все работает )  
Верстать под IE.  
Я говорил о страницах, специально заточенных под этот кантрол и изначально не планировал открывать их в других браузерах, зачем? Т.о. нет надобности в стилях для других браузеров. А если и появиться, достаточно будет подключить один дополнительный файл  
Один из способов организации работы: все формы + функционал храняться у тебя на сайте и загружаются прямо оттуда. Вряд ли, они будут весть много. Всегда актуальные версии у всех пользователей. Возможность контроля в разы больше.  
 
> Так что использовать невзрачные кнопочки из набора Microsoft Forms - куда надежнее.  
в целом ты прав, если речь идет о стандартных элементах управления. На днях пытался подключить ListView в Office x64. Пытался долго ) Закончилось все тем, что наткнулся на "в Office x64 этот + другие почти стандартные элементы управления не поддерживаются".  
 
KukLP,    
> Саня, да отличные формы, строгое оформление, как раз для деловой обработки  
работа должна быть "вкусной" по мере возможности.  
Все мы любим удобные и функциональные программы. Что мешает добавить к ним дизайна? Почему люди предпочитают иномарки отечественному (рус) автопрому? И то и другое машина. Только иномарка помимо остальных ее достоинств, берет и внешним видом.  
Насчет попугаев.  
Неумение пользоваться инструментами еще не говорит о несостоятельности этих инструментов.  
 
 
Почему я завел об этом речь: дружелюбные интерфейсы, это не только юзабилити. Встречают по одежке.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


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


https://github.com/nervgh
 
Сань, в соседней теме: http://www.planetaexcel.ru/forum.php?thread_id=45458 товарисчу стандартных цветов шрифта не хватает. Продолжать не буду:-)
Я сам - дурнее всякого примера! ...
 
>> конвертер в помощь (если ты об этом)  
нет, не об этом.  
файлы в формате 2007/10, выкладываемые новичками, не говорят ни о чем.  
выкладываемые завсегдатаями - обычно говорят о том, что файл в старших версиях, даже открытый с помощью конвертера, работать не будет.  
сам проверить немедленно не мог - поэтому и спросил.  
 
идея-то очень хорошая. а контрол-аналог TreeView там можно реализовать? ибо он тоже "труднопереносимый" :(
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Моя Имха: увиденное не вдохновило: все эти затухания/исчезания/перемещения/сплиты, не более чем перламутровые пуговицы. Поддерживаю Сержа - функциональности никакой. Может там ЕЩЁ что-то полезное/нужное есть?
 
У меня работает,как на хрюше так и на семерке.  
В целом мне нравиться, хотя конечно в большой проект я бы не стал пристраивать :).  
(нет опыта как оно себя поведет).  
Грузить страницу с интернета (имхо) не лучший вариант, в корпоративных сетях зачастую его рубят до невозможности :).  
----------------  
если бы xml  считать с внутреннего устройства самого файла(xlsm), тогда да - это можно развивать. Держать отдельно папку у юзера с отдельными файлами--- тоже не выход, остается писать xml html  программно и загружать. Но и это, как то накладно по коду получается.  
------  
Пока мнение двоякое :)
Спасибо
 
Ну ладно, нарисовали.  
А как с ней работать? Как считать, что выбрал юзер?  
Я не имел дела с этими контролами - разве что что-то послать ТУДА - а вот как легко взять обратно? Снова читать и парсить весь текст ответа?
 
этот пост в контексте данной темы практически не несет никакой смысловой нагрузки. Попробовал анимировать пользовательскую форму, результат во вложении.  
 
p.s.: excel желательно full screen, а не в окне
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
\\совсем забыл - на вопросы отвечу позже ; )
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
nerv  
Возможно, вы и правы с точки зрения коммерческого распространения программ. В этом деле Вау! эффект имеет не последнее значение, да и поддержка несколько проще, возможно.  
Сложно оценить, по своему узкому личному опыту своей работы в нашей конторе - это не лучшее решение тянуть html.  
Для себя же я решил переползать на Net Framework, используя ExcelDNA. Уже написал первое расширение. Учитывая множество "вкусностей" в .Net, скорее всего буду отказываться от VBA. Да и с дизайном в нём всё гораздо проще - стандартно поддерживается оформление системы, например, а не как в VBA - стиль Win95.
 
[ikki]> а контрол-аналог TreeView там можно реализовать?
думаю, да  
 
[Юрий М]> увиденное не вдохновило. Может там ЕЩЁ что-то полезное/нужное есть?
конечно. Это только "плюшки" )  
 
[R Dmitry]> У меня работает,как на хрюше так и на семерке.
ok. Спасибо за отзыв : )  
 
[Hugo]> А как с ней работать? Как считать, что выбрал юзер?
[Hugo]> Я не имел дела с этими контролами - разве что что-то послать ТУДА - а вот как легко взять обратно? Снова читать и парсить весь текст ответа?
html/xml страница - это такой же объект, как, например, excel. Дергать за ручки (свойства/методы). Все как обычно.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
anvg, что такое ExcelDNA?  
VB.NET? Видел краем глаза. Могу ошибаться, но в плане разработки он удобней (чем VBA).  
Если это возможно, покажите пример [расширение]. Желательно с плюшками : )
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=nerv}{date=23.09.2012 12:24}{thema=}{post}[ikki][Юрий М]> ... Может там ЕЩЁ что-то полезное/нужное есть?
конечно. Это только "плюшки" ){/post}{/quote}Плюшки - оно, конечно, вкусно :-) А можно глянуть какую-нибудь полезняшку?
 
nerv  
Пример выложил здесь http://rghost.ru/40542371  
Подробности описал в readme. С плюшками "визуальными" - только поддержка стилей Windows. С остальным - пример LINQ, работа и источниками данных, типизированными списками. Увы, хоть и не первый год использую .Net но до многих вещей в нём руки не дошли - в процессе самообучения. Написано на VB.NET, хотя если использовать библиотеку, а не писать в скриптовом стиле, можно испозовать любой язык, поддерживающий .Net. Как добиться визуальных изменений компонентов, создать свои - информация есть и на msdn и на многочисленных форумах по C#. Попробуйте, вдуг понравится?
 
У меня запускается только из проетка(SimpleExcelDNAddIn\SimpleExcelDNAddIn\bin\Debug\SimpleExcelD­NAddIn.xll), в VS к сожалению проект не компилируется, вываливаются ошибки, но за пример спасибо, лично я буду ковыряться :))
Спасибо
 
R Dmitry  
Можно по конкретнее об ошибках. У меня ни разу не выходило. На будущее, чтобы знать.
 
Открылся, исправил путь к библиотеке.  
_____________  
Я бы использовал все же позднее связывание (Для надежности :)))  
  Dim pConn As New ADODB.Connection(), pRSet As New ADODB.Recordset()
Спасибо
Страницы: 1
Читают тему
Наверх