Ура! Новый урок, давно ждал! Зашел без надежды, а тут сюрприз! Спасибо, очень жду новых. Урок интересный, но лично для меня сильно резко сложнее чем предыдущие. Интересно было бы увидеть примеры построения программ с использованием объектов, тех же "умных" таблиц. С объяснением почему именно так, а не иначе лучше/удобней/практичней и т.д. Помнится вы обещали что-то такое в 7-ом уроке.
По мере продвижения в vba заметил такую странность. У объекта есть поля, свойства и методы. И вот я попытался записать макрос который импортирует XML в книгу и заметил, что как обнаружилась конструкция (свойство.свойство.метод()). Если есть возможность помогите понять почему так происходит prntscr.com/shie30 prntscr.com/shier6 prntscr.com/shif9a По идее сначала мы указываем объект, потом точка, потом свойство или метод. Но тут VBE показывает мне что через точки идут 2 свойства и метод. как такое объяснить (свойство.свойство. метод)? Когда выбираем defenition (prntscr.com/shklw2) то можно увидеть что это и чему принадлежит. add это метод в классе XmlMaps, но XmlMaps это свойство класса ActiveWorkbook, а ActiveWorkbook это свойство класса Application. Как это понять? Спасибо
у объекта внутри могут быть и другие объекты, это нормально. а то и коллекции объектов. т.е. в свойстве у тебя может сидеть экземпляр другого класса со своими свойствами и методами.
Руслан, спасибо за уроки. Есть вопрос. Я самостоятельно изучаю VBA (excel в основном), но столкнулся с пониманием, что не знаю как правильно ориентироваться в классах объектах (методы, свойства, события)? Предположим есть строчка кода (... ActiveChart.Location Where:=xlLocationAsObject, Name:="2005"...). Это простой пример. Когда я набираю "ActiveChart." VBE мне подсвечивает список методов, свойств и т.п. Я выбираю свойство "Location", но если я поставлю точку, то я опять могу выбрать "Location". То есть, я опять вижу свойство класса Application. Дальше в коде идут именованные аргументы (Where:=xlLocationAsObject, Name:="2005"). как мне понять что они там могут идти? Как правильно понимать что там можно подставлять? Где прочитать доходчивую инфу? Такие вот дурацкие вопросы. Спасибо
Если я правильно Вас понял. То у вас получается что-то вроде этого "ActiveChart.Location.Location.Location". И вроде как среда разработки (IDE) спокойно позволяет выбирать эту цепочку. Почему так, во-первых, это косяк среды такого не должно быть. Во-вторых Location тут - метод, а не свойство т.е. принимает аргументы. И т.к. метод Location возвращает объект “Chart” (пример prnt.sc/ptoksr) вы и видите его члены.
@@rusrc У вас очень доходчивые уроки. Я по ним и начал программить в 43 года, но момент с обжект браузером меня просто выводит из равновесия. Сделайте доходчивый урок по браузеру на четких примерах. заранее спасибо.
@@rusrc Руслан, есть еще вопрос. Стоит ли продолжать изучать (делать упор) на VB.net или позже переходить на др.язык программирования (C#, Java)? Спасибо.
@@kabukijoe99 я думаю, если вы работаете сейчас с VBA, то изучайте его. C# и Java очень похожи. Впринципе зная один язык на др. не сложно переключиться.
Есть небольшая ошибка у автора. Не инециализация происзодит у VBA когда используется ключевое слово NEW. Происходит содания экземпляра класса HR - instantination. А вообще лучше пользоваться заимствованными словами. Initializing - это привязывания кокретного значения. Instantiation - это просто создание объекта/'экземпляра. Лучше не переводитьих вообще на русский, а то путает жутко. А вообще идея классная - объяснить VBA по человечески. Автору спасибище!
Кажется вы не систематизировали свои знания, в действительности автор прав. NEW - синтаксический сахар инициализации ссылочных переменных. Переменная по выполнении этой строки действительно проинициализируется значением. Указатель, который она хранит не будет null pointer.
Больше уроков, у тебя талант объяснять. Спасибо.
огромное спасибо. всё доступно. понятно. без лишних размусоливаний. сразу видно что готовился
Уроки очень хорошие, побольше бы их. А так же хотелось бы больше примеров связанных с "ВПР", "счётесли" и т.д. Спасибо.
вместо ВПР(VLOOKUP) попробуйте связку Index(....(Match(....)). более гибкий инструмент, особенно, с "умными" таблицами
Ура! Новый урок, давно ждал! Зашел без надежды, а тут сюрприз! Спасибо, очень жду новых.
Урок интересный, но лично для меня сильно резко сложнее чем предыдущие. Интересно было бы увидеть примеры построения программ с использованием объектов, тех же "умных" таблиц. С объяснением почему именно так, а не иначе лучше/удобней/практичней и т.д. Помнится вы обещали что-то такое в 7-ом уроке.
+Rom Scher иии?? :)
Спасибо за урок, немогли бы вы обновить ссылку или залить на google диск материалы из урока. Зарание благодарю .
Ребята, классы - это класс! Код сжимается очень существенно, именно рабочая область, т.к. специализированный код и переменные под него изолируются..
Спасибо как всегда интересно.
все предыдущие уроки шли на ура. в этом не смог разобраться. здесь уже VBA не простым языком
+1 "все предыдущие уроки шли на ура. в этом не смог разобраться"
Занятно. Спасибо.
Очень полезно, спасибо.
рано мне ещё тут...
Спасибо!!!
По мере продвижения в vba заметил такую странность. У объекта есть поля, свойства и методы. И вот я попытался записать макрос который импортирует XML в книгу и заметил, что как обнаружилась конструкция (свойство.свойство.метод()). Если есть возможность помогите понять почему так происходит
prntscr.com/shie30
prntscr.com/shier6
prntscr.com/shif9a
По идее сначала мы указываем объект, потом точка, потом свойство или метод. Но тут VBE показывает мне что через точки идут 2 свойства и метод. как такое объяснить (свойство.свойство. метод)?
Когда выбираем defenition (prntscr.com/shklw2) то можно увидеть что это и чему принадлежит. add это метод в классе XmlMaps, но XmlMaps это свойство класса ActiveWorkbook, а ActiveWorkbook это свойство класса Application. Как это понять? Спасибо
у объекта внутри могут быть и другие объекты, это нормально. а то и коллекции объектов.
т.е. в свойстве у тебя может сидеть экземпляр другого класса со своими свойствами и методами.
Руслан, спасибо за уроки. Есть вопрос. Я самостоятельно изучаю VBA (excel в основном), но столкнулся с пониманием, что не знаю как правильно ориентироваться в классах объектах (методы, свойства, события)? Предположим есть строчка кода
(... ActiveChart.Location Where:=xlLocationAsObject, Name:="2005"...). Это простой пример. Когда я набираю "ActiveChart." VBE мне подсвечивает список методов, свойств и т.п. Я выбираю свойство "Location", но если я поставлю точку, то я опять могу выбрать "Location". То есть, я опять вижу свойство класса Application. Дальше в коде идут именованные аргументы (Where:=xlLocationAsObject, Name:="2005"). как мне понять что они там могут идти? Как правильно понимать что там можно подставлять? Где прочитать доходчивую инфу? Такие вот дурацкие вопросы. Спасибо
Если я правильно Вас понял. То у вас получается что-то вроде этого "ActiveChart.Location.Location.Location". И вроде как среда разработки (IDE) спокойно позволяет выбирать эту цепочку. Почему так, во-первых, это косяк среды такого не должно быть. Во-вторых Location тут - метод, а не свойство т.е. принимает аргументы. И т.к. метод Location возвращает объект “Chart” (пример prnt.sc/ptoksr) вы и видите его члены.
@@rusrc совершенно верно prnt.sc/ptopbv
@@rusrc У вас очень доходчивые уроки. Я по ним и начал программить в 43 года, но момент с обжект браузером меня просто выводит из равновесия. Сделайте доходчивый урок по браузеру на четких примерах. заранее спасибо.
@@rusrc Руслан, есть еще вопрос. Стоит ли продолжать изучать (делать упор) на VB.net или позже переходить на др.язык программирования (C#, Java)? Спасибо.
@@kabukijoe99 я думаю, если вы работаете сейчас с VBA, то изучайте его. C# и Java очень похожи. Впринципе зная один язык на др. не сложно переключиться.
Есть небольшая ошибка у автора. Не инециализация происзодит у VBA когда используется ключевое слово NEW. Происходит содания экземпляра класса HR - instantination. А вообще лучше пользоваться заимствованными словами. Initializing - это привязывания кокретного значения. Instantiation - это просто создание объекта/'экземпляра. Лучше не переводитьих вообще на русский, а то путает жутко.
А вообще идея классная - объяснить VBA по человечески. Автору спасибище!
Кажется вы не систематизировали свои знания, в действительности автор прав. NEW - синтаксический сахар инициализации ссылочных переменных. Переменная по выполнении этой строки действительно проинициализируется значением. Указатель, который она хранит не будет null pointer.
молодець
Слово "молодец", пишется без мягкого знака!
Уроки класс, на исходник битая ссылка!!!
не могу скачать по ссылке открываться мой диск
ужасное объяснение