Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Создать свой объект Добавлено: 01.11.08 12:04  

Автор вопроса:  Nytrogen
Вот сколько работаю я с VB(A) и всё никак не могу понять, можно ли вообще тут создать свой объект со своими свойствами, методами?
Допустим, мне было бы гораздо проще иметь объект System, который бы общался с неким скрытым листом Excel: System.Number, System.Date, System.Reset() и т.п.
Создавать отдельный модуль класса для одного единственного объекта - даже звучит смешно.
Не использовать объект, а использовать переменные, функции и процедуры (System_Number = ..., System_Date = ..., Sub System_Reset()...) - это же просто каша, особенно, если требуется много разных по структуре объектов! Да если даже создать по модулю для каждого такого "мнимого" объекта, то процедуры и функции использовать неудобно в том плане, что нельзя обратиться к "себе" (Me), а надо снова писать System_Number (вместо Me.Number).
Да и вообще, VB - объектно-ориентированный язык, а не процедурный! Где же великие возможности ООП?

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #1
Добавлено: 01.11.08 13:11
Вот сколько работаю я с VB(A) и всё никак не могу понять, можно ли вообще тут создать свой объект со своими свойствами, методами?

VB - да / VBA - нет

VB - объектно-ориентированный язык

Ни фига он не такой. Да, он позволяет работать с объектами. Но он все-таки скорее процедурный язык. А VBA - это его урезаное процедурное подмножество (только вызов чужих объектов). Можно и на ассемблере с COM-объектами работать - вызывать, и даже создавать (ужосс!) - но ведь его не называют языком для ООП.

Можешь создать свой свои пару-тройку библиотек функций на VBA. Не знаю, станешь ли ты потом их использовать. Ведь в VBA обычно важно быстро набросать чего-то, а не создавать решений на века.

Ответить

Номер ответа: 2
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #2
Добавлено: 01.11.08 13:12
Смайлики по приколу. Всегда вылезают внезапно и этим поражают! У админов есть чу/ю

Ответить

Номер ответа: 3
Автор ответа:
 Nytrogen



Вопросов: 18
Ответов: 186
 Профиль | | #3 Добавлено: 01.11.08 14:09
Ведь в VBA обычно важно быстро набросать чего-то, а не создавать решений на века

Это действительно умное изречение. Что ж, придётся сидеть в "каше" переменных... А вообще, мне слишком тесно в VBA! Мои проекты требуют широкого размаха возможностей программирования. Чувствую, самое время начинать писать надстройки в Visual Studio...

Ответить

Номер ответа: 4
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #4
Добавлено: 01.11.08 14:16
Пиши на VB6 для Excel ActiveX DLL или просто программы, использующие объектные модели офиса.

Ответить

Номер ответа: 5
Автор ответа:
 Nytrogen



Вопросов: 18
Ответов: 186
 Профиль | | #5 Добавлено: 01.11.08 14:46
Думаю, начну с программ, использующих объектную модель офиса на VB 2008.

Ответить

Номер ответа: 6
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #6 Добавлено: 01.11.08 15:17
Да ну, а что, модуль класса уже отменили?

Ведь в VBA обычно важно быстро набросать чего-то, а не создавать решений на века.

Должен отметить, что как правило, небольшие наброски кода на VBA, сделаные на скорую руку чтоб быстро временно решить задачу, помогают потом бизнесу годами, обрастая разными наворотами :)

Ответить

Номер ответа: 7
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #7
Добавлено: 01.11.08 15:17
Выбор за тобой. У меня личная неприязнь ко всему, что связано с .Net )

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам