Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с 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
Цитата
Какие возможности у VBA?

Огромны, если использовать АПИ! Могу прикрепить прикольный примерчик. Только немного поправлю! smile

Автор: Akina 27.5.2005, 07:51
Теоретически на VBA можно написАть очень ВСЕ, что можно написАть на VB и что не требует компиляции в модуль. Т.е. самостоятельный EXE или DLL не сделать, но вот графика - влет...

Проблема VBA в основном в том, что бОльшая часть визуальных системных компонентов (добываемых из Виндовых DLL/OCX) дополнена специфичным для конкретного приложения (скажем Excel-я) интерфейсом, при этом появление новых свойств и методов сопровождается, увы, маскированием некоторых имеющихся - страшно неудобно.

Впрочем когда мне требуется выполнить какую-нить разовую простую обработку массива данных, я не сильно разбираюсь - что под руку попало, на том и пишу программу. Аксесс - так Аксесс, Ворд - значит Ворд... пофиг абсолютно.

Автор: Jureth 27.5.2005, 08:54
Цитата
Собственно изучать VBA я начал сравнительно недавно, месяца 3 от силы. Так что знаю пока не много. Но хочу научиться большему.
Я за 3 месяца изучения VBA узнал довольно много. Наверное потому, что это были 3 месяца дипломной работы.

Автор: likhobory 27.5.2005, 09:37
В целом согласен с вышеприведенными утверждениями, замечу лишь, что у каждого приложения своя объектная модель, и , казалось бы схожие функции, имеют различные возможности, так что при более пристальном изучении сего продукта создается ощущение "большого винегрета", такое впечатление, что команды разработчиков в процессе ваяния участвовали в соц. соревновании (кстати, при просмотре одной из Excel-dll (office2000) в обычном вьюере - сайчас уже не помню какой именно - явно просматриваются графити экс-советского соплеменника smile )

Автор: Akina 27.5.2005, 10:34
Я освоил VBA за неделю - была работа, которую НАДО было сделать за неделю. МНЕ надо.

А было это... аж в 1995 году...

Автор: likhobory 27.5.2005, 13:02
Цитата(Jureth @ 27.5.2005, 09:54)
Я за 3 месяца

Цитата(Akina @ 27.5.2005, 11:34)
Я освоил VBA за неделю

А вот я.... а вот я...
коллеги!!! проведем чтоль опросик
клмн, полный smile

Автор: Stopper 27.5.2005, 17:43
Друзья, может кто подкинет какие-нибудь ссылки о возможностях VBA, чтобы я всё в цвете представил (желательно с примерами). По анализу у меня в книге куча примеров, а вот отвлеченного - очень мало.
Что значит "отвлеченное"? Ну например на VBA я сделал аналог настольной игры "Угадай цвет" (имеется загаданная компом комбинация из 4-х цветов, а у играющего только 10 попыток ее отгадать - собственно кто играл, тот знает).

Прошу не считать это хвастовством, просто хочу, чтобы вы представляли, что мне нужно.

Собственно моей целью не является офисное программирование, просто так получилось, что в универе мы изучаем VBA, причем не анализ, а "Юзерформы".
Программирую я с удовольствием, абсолютно не влом поломать мозги над какой-нибудь задачкой... А то, что дают в универе - ну это просто скучно и неинтересно (в смымле легко). Конечно я выполнял задачки с "выпендрёжем", в оличие от моих товарией. И вы знаете, затянуло. Хочется большего.
В Exele лично меня не интересует анализ данных. Просто хочется отвлечься от ячеек.
Очень нужны примеры.

С уважением, Stopper.

PS. Хотел выложить скриншот, но что-то не получилось. Как это делается?

Автор: Gannibal 27.5.2005, 18:10
Цитата(Stopper @ 27.5.2005, 16:43)
Собственно моей целью не является офисное программирование, просто так получилось, что в универе мы изучаем VBA, причем не анализ, а "Юзерформы".


да вот такае же проблема.. мы пока ВБ обычный берём.. тока таким тэмпом что можно уснуть по дороге .. то что у меня и получаеться на уроках smile ВБА должны брать в следующем году.. сам ждать немогу тоже изучаю потехоньку, возможностей много у него ...со многими програмами рабоает ..

Автор: Stopper 27.5.2005, 18:48
Цитата(Mephisto @ 27.5.2005, 05:28)
Цитата
Какие возможности у VBA?

Огромны, если использовать АПИ! Могу прикрепить прикольный примерчик. Только немного поправлю! smile


А что такое АПИ? И как его использовать? Вы меня заинтересовали! Может ссылочку на полезную литературу подкините?

Автор: 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
Цитата(likhobory @ 27.5.2005, 14:02)
А вот я.... а вот я...
коллеги!!! проведем чтоль опросик

Анекдот знаешь?

Спрашивают аспиранта - Тебе сколько времени надо , чтобы выучить китайский язык? ... ну, лет 5...
Спрашивают профессора - А тебе? ... ну, года за 3 выучу...
Спрашивают студента - А тебе сколько времени надо, чтобы выучить китайский? ... А когда экзамен?

Так что припечет - за 2 дня освоишь... а если не горит - и года мало...

Жаль, что приходится объяснять очевидные вещи...
Добавлено @ 08:14
Stopper
Модератор: Пожалуйста, один топик - один вопрос.
Что до твоей проблемы - очевидное незнание принципов передачи параметров. Учите матчасть.

Код

Dim xxx as Long
xxx = 1000
Sleep xxx

Автор: likhobory 30.5.2005, 10:12
Цитата(Akina @ 30.5.2005, 09:12)
Жаль, что приходится объяснять очевидные вещи...

2Akina
да не надо ничего объяснять, согласны мы, согласны (с) .. smile просто глянь на сабж
А анекдотик-то еще с совковых времен, вечно актуален

Автор: skyboy 17.6.2007, 22:18
касательно возможностей: можно ли описать собственный класс с методами, а не просто запись с несколькими полями?

Автор: mihanik 21.6.2007, 07:04
Цитата(skyboy @  17.6.2007,  22:18 Найти цитируемый пост)
можно ли описать собственный класс с методами, а не просто запись с несколькими полями?

 Можно.

Модератор: 
2All
Была заявлена тема
Цитата

 Какие возможности у VBA? Что он может?


Будем её придерживаться!
Не надо флеймить!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)