| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование, связанное с MS Office > Какие возможности у VBA? |
| Автор: Stopper 26.5.2005, 19:58 |
| Ещё раз здраствуйте! Хочется узнать, где заканчиваются возможности VBA. Возможна ли работа с графикой? Можно ли создавать самостоятельные приложения (т.е. программировать как, скажем, на визуальном Бейсике, Делфе и тп). Или он для этого слабоват? Где можно почитать об этих возмжностях? Конечно, для многих мой пост покажется странным, но для меня принципиально программить именно на VBA, а не брать другие продвинутые языки типа C++. Просто я хочу сотворить на VBA нечто, за что мне поставят автоматом экзамен по инфе (в универе мы занимаемся Exel-ем). Поверьте, учить эти многочисленные определения и готовиться к экзамену очень не хочется. Что буду делать - пока не решил. Может у кого-нибудь есть идеи, чем удивить препода? С Уважением, Stopper. |
| Автор: Staruha 26.5.2005, 20:06 |
| Удивить можно.И любую прогу по обработке данных.Можно даже и с графикой если фантазия хорошо работает.Только нчего не зная вряд ли получится . |
| Автор: Stopper 26.5.2005, 20:30 |
| Так я же ведь и хочу научиться! Времени у меня ещё до декабря. И книжка даже есть толстая "VBA. 2-e издание" автор Андрей Гарнаев. Но там практически все об анализе данных - это и понятно, ведь VBA для MS Office предназначен. Проблем в изучении нет никаких. Но в универе мы этим не занимаемся, а делаем проги типа "Калькулятор" (2 textbox для чисел, 4 optionbutton для выбора действий, кнопка, ну и поле куда результат пишется), "Корни квадратного уравнения" (аналогично). В этом направлении мы и будем двигаться ещё полгода. Тема - "Работа с Юзерформами". Вот что мне нужно. А в книге на эту тему отведено 30 страниц. Многое приходится додумывать самому. Собственно изучать VBA я начал сравнительно недавно, месяца 3 от силы. Так что знаю пока не много. Но хочу научиться большему. |
| Автор: Staruha 26.5.2005, 21:12 |
| Я тоже Гарнаева читаю.И все что становится понятным воплощаю в жизнь.Ну и с чем разобралась кидаю на сайт.Как бы экзамен сдаю.Зайди почитай. |
| Автор: likhobory 26.5.2005, 22:45 |
| для полноты картины IMHO - не помешает это: http://forum.vingrad.ru/index.php?showtopic=52416&view=findpost&p=414772 ...можно долго рассуждать о преимуществах и недостатках, но неплохо бы для начала определиться с задачей, ведь любой язык - всего лишь инструмент в твоих руках |
| Автор: Mephisto 27.5.2005, 05:28 | ||
Огромны, если использовать АПИ! Могу прикрепить прикольный примерчик. Только немного поправлю! |
| Автор: Akina 27.5.2005, 07:51 |
| Теоретически на VBA можно написАть очень ВСЕ, что можно написАть на VB и что не требует компиляции в модуль. Т.е. самостоятельный EXE или DLL не сделать, но вот графика - влет... Проблема VBA в основном в том, что бОльшая часть визуальных системных компонентов (добываемых из Виндовых DLL/OCX) дополнена специфичным для конкретного приложения (скажем Excel-я) интерфейсом, при этом появление новых свойств и методов сопровождается, увы, маскированием некоторых имеющихся - страшно неудобно. Впрочем когда мне требуется выполнить какую-нить разовую простую обработку массива данных, я не сильно разбираюсь - что под руку попало, на том и пишу программу. Аксесс - так Аксесс, Ворд - значит Ворд... пофиг абсолютно. |
| Автор: Jureth 27.5.2005, 08:54 | ||
|
| Автор: likhobory 27.5.2005, 09:37 |
| В целом согласен с вышеприведенными утверждениями, замечу лишь, что у каждого приложения своя объектная модель, и , казалось бы схожие функции, имеют различные возможности, так что при более пристальном изучении сего продукта создается ощущение "большого винегрета", такое впечатление, что команды разработчиков в процессе ваяния участвовали в соц. соревновании (кстати, при просмотре одной из Excel-dll (office2000) в обычном вьюере - сайчас уже не помню какой именно - явно просматриваются графити экс-советского соплеменника |
| Автор: Akina 27.5.2005, 10:34 |
| Я освоил VBA за неделю - была работа, которую НАДО было сделать за неделю. МНЕ надо. А было это... аж в 1995 году... |
| Автор: likhobory 27.5.2005, 13:02 | ||||
А вот я.... а вот я... коллеги!!! проведем чтоль опросик клмн, полный |
| Автор: Stopper 27.5.2005, 17:43 |
| Друзья, может кто подкинет какие-нибудь ссылки о возможностях VBA, чтобы я всё в цвете представил (желательно с примерами). По анализу у меня в книге куча примеров, а вот отвлеченного - очень мало. Что значит "отвлеченное"? Ну например на VBA я сделал аналог настольной игры "Угадай цвет" (имеется загаданная компом комбинация из 4-х цветов, а у играющего только 10 попыток ее отгадать - собственно кто играл, тот знает). Прошу не считать это хвастовством, просто хочу, чтобы вы представляли, что мне нужно. Собственно моей целью не является офисное программирование, просто так получилось, что в универе мы изучаем VBA, причем не анализ, а "Юзерформы". Программирую я с удовольствием, абсолютно не влом поломать мозги над какой-нибудь задачкой... А то, что дают в универе - ну это просто скучно и неинтересно (в смымле легко). Конечно я выполнял задачки с "выпендрёжем", в оличие от моих товарией. И вы знаете, затянуло. Хочется большего. В Exele лично меня не интересует анализ данных. Просто хочется отвлечься от ячеек. Очень нужны примеры. С уважением, Stopper. PS. Хотел выложить скриншот, но что-то не получилось. Как это делается? |
| Автор: Gannibal 27.5.2005, 18:10 | ||
да вот такае же проблема.. мы пока ВБ обычный берём.. тока таким тэмпом что можно уснуть по дороге .. то что у меня и получаеться на уроках |
| Автор: Stopper 27.5.2005, 18:48 | ||||
А что такое АПИ? И как его использовать? Вы меня заинтересовали! Может ссылочку на полезную литературу подкините? |
| Автор: Stopper 27.5.2005, 19:18 |
| Появилась проблема. Я в отдельный модуль кидаю: Public Declare Sub Sleep Lib "kernel32" _ (ByVal dwMilliseconds As Long) Затем в тексте программы ставлю: Sleep 4000 По идее должна происходить задержка на 4 секунды, а затем продолжение. А у меня почему-то сразу, как только дело доходит до этой строки, программа закрывается. На совсем. Пробовал даже писать такой код: Private Sub Button_Click() sleep 1000 end sub Всё равно закрывает весь проект. В чём дело? |
| Автор: Akina 30.5.2005, 08:12 | ||||
Анекдот знаешь? Спрашивают аспиранта - Тебе сколько времени надо , чтобы выучить китайский язык? ... ну, лет 5... Спрашивают профессора - А тебе? ... ну, года за 3 выучу... Спрашивают студента - А тебе сколько времени надо, чтобы выучить китайский? ... А когда экзамен? Так что припечет - за 2 дня освоишь... а если не горит - и года мало... Жаль, что приходится объяснять очевидные вещи... Добавлено @ 08:14 Stopper Модератор: Пожалуйста, один топик - один вопрос. Что до твоей проблемы - очевидное незнание принципов передачи параметров. Учите матчасть.
|
| Автор: likhobory 30.5.2005, 10:12 | ||
2Akina да не надо ничего объяснять, согласны мы, согласны (с) .. А анекдотик-то еще с совковых времен, вечно актуален |
| Автор: skyboy 17.6.2007, 22:18 |
| касательно возможностей: можно ли описать собственный класс с методами, а не просто запись с несколькими полями? |