VBA Object Libraries, Early & Late Binding (Серия VBA 34)

  Рет қаралды 10,270

Билял Хасенов – Excel, VBA & More

Билял Хасенов – Excel, VBA & More

Күн бұрын

Пікірлер: 40
@khrom-h7j
@khrom-h7j 4 жыл бұрын
Господи, спасибо тебе за что я наконец таки нашел великолепный канал про VBA =)
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, Роман! Очень рад что Вы вышли на мой канал - добро пожаловать :) Если будут какие-либо вопросы - всегда пишите :) С уважением и хороших Вам выходных, Билял
@khrom-h7j
@khrom-h7j 4 жыл бұрын
@@BilyalKhassenov а я то как рад! Большое спасибо за Ваш труд.
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Всегда пожалуйста 😊
@limpopos8125
@limpopos8125 4 жыл бұрын
Билял, Спасибо тебе огромное! Как всегда все доступно, все по полочкам разложено! Успехов тебе! Хочется ещё видео про outlook, объектная модель, пространство имён и особенно интересно работа с адресными книгами
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, большое спасибо за Ваш комментарий! Рад, что мои видео полезны и помогают Вам. В дальнейшим обязательно уделю внимание интересующим Вас темам :) С уважением и хороших Вам выходных, Билял
@Kondrat4ek
@Kondrat4ek 3 жыл бұрын
Спасибо за урок, все доходчиво и понятно. Сделал все без особых проблем, даже уже радостно становится, что получается так решать задачи) Даже себе на почту наспамил писем)
@alekseychaykovskiy3963
@alekseychaykovskiy3963 4 жыл бұрын
Спасибо, Билял
@АнтонБуренин-щ7ь
@АнтонБуренин-щ7ь 3 жыл бұрын
Билял, огромное спасибо! Очень понравилось и содержание и подача материала, просто супер!
@Булатхр
@Булатхр 4 жыл бұрын
Спасибо большое за познавательные видео.
@abdulfarid89
@abdulfarid89 4 жыл бұрын
Билял, спасибо за качественный материал!
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, Фарид! Спасибо за Ваш комментарий 😊 С уважением и хороших Вам выходных, Билял
@djtroy6569
@djtroy6569 4 жыл бұрын
Спасибо!
@SamSambl4
@SamSambl4 4 жыл бұрын
Спасибо за труд!
@Евгений-10.11
@Евгений-10.11 4 жыл бұрын
Билял, Ваш постоянный подписчик снова с благодарностью и восхищением!!! Наиполезнейшая тема и наилучшее её обозрение! Вы умница и труженик! Безупречный доклад! Спасибо Вам! Как всегда, мой вопрос: как работать с программами, не относящимися к семейству Microsoft? Меня, например, интересует Автокад)) в совокупности с Excel (VBA)!
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, Евгений! Большое спасибо за Ваш комментарий, рад, что видео было для Вас полезным 😊 На Ваш же вопрос, боюсь, к сожалению, невозможно ответить коротко. Единственное что могу сказать по взаимодействию автокада и VBA - это то, что редактор VBA по умолчанию не интегрирован в автокад, и его нужно догружать отдельным пакетом. Тем не менее это несложный процесс, и в принципе дальнейшее выстраивание взаимодействия автокада с VBA, при условии наличия знаний объектов автокада и их свойств, не должно быть проблематичным и производится по уже знакомым общим принципам работы в VBA. Возможно, когда-нибудь я постараюсь снять видео на подобную тему, но это скорее всего будет не скоро. Желаю Вам оставаться здоровым, Евгений, в текущей ситуации с коронавирусом! С уважением и хорошего Вам дня, Билял
@Евгений-10.11
@Евгений-10.11 4 жыл бұрын
Билял Хасенов - Excel & VBA Спасибо Билял! Будем изучать)!
@Snake60rus
@Snake60rus 3 жыл бұрын
@@BilyalKhassenov По-моему, VBA-редактор по умолчанию встроен в АвтоГад, по крайней мере, об это много где упоминается в интернете. За видео-уроки отдельное спасибо и жирный лайк. Ваша подача материала может служить примером для многих интернет-коучей :)
@Technik8888
@Technik8888 4 жыл бұрын
Спасибо за полезные уроки! Может быть когда-нибудь снимите видео о том, как создать «Задачу - напоминание» в Outlooke из Excel, в файле, которого например есть таблица с 5 столбцами в которых имеется информация о сдаче экзаменов, о которой необходимо напомнить - 1. ФИО, 2. Дата, 3. Время, 4. Название напоминания, 5. Текст напоминания
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте! Записал в заметки - как-нибудь обязательно постараюсь снять такое видео 😊 С уважением и хорошего Вам дня, Билял
@dmitriy5058
@dmitriy5058 3 жыл бұрын
Здравствуйте. Office 2021. Обновлено "на сейчас". Раннее подключение библиотеки Microsoft Outlook 16.0 Вопрос: Почему при запущенном OUTLOOK на строке Set appOutlook = New Outlook.Application возникает ошибка Run-time error '429'? При закрытом OUTLOOK рассылка работает, но только при отсутствии строки NewMail.Display внутри цикла рассылки, иначе на строке Set NewMail = appOutlook.CreateItem(olMailItem) вылетает ошибка Run-time error '462'. Если попробовать запустить OUTLOOK во время работы макроса - не получается, "... Разные версии OUTLOOK не могут работать одновременно..." Есть подозрение, что позднее подключение может решить эту проблему. Заранее спасибо.
@ХабибНабиев-ц3ц
@ХабибНабиев-ц3ц 4 жыл бұрын
Спасибо за ваш труд Билял. Можете прикрепить файл для упражнений? Спасибо.
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, Хабиб! Большое спасибо за Ваш комментарий - я и вправду совсем забыл загрузить файл для упражнений. Ссылку на файл в Google Drive вписал в описание к этому видео и также дублирую в этом ответе на Ваш комментарий: drive.google.com/open?id=1UufZ0o9yMkw4iASGI2qEDck6BHhrLS3N Если будут какие-либо вопросы - всегда пишите! С уважением и хороших Вам выходных, Билял
@ОльгаОбодовская
@ОльгаОбодовская 4 жыл бұрын
классные уроки
@ХабибНабиев-ц3ц
@ХабибНабиев-ц3ц 4 жыл бұрын
Как можно скопировать готовый UserForm и вставить на эту же книгу, то есть дублировать? Спасибо.
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, Хабиб! Для этого Вам надо переименовать пользовательскую форму, лучше всего в отдельной копии Вашего xlsm файла - и дописать, например, слово "_Copy" в конце названия формы. Затем щёлкаете правой кнопкой мыши -> Export File -> Сохраняете в нужной Вам папке. И уже после этого Вы можете импортировать эту локально сохранённую форму в Ваш xlsm-файл (щелчок правой кнопкой мыши по папке Forms в VBA -> Import File). Таким образом у Вас появится копия формы. С уважением и хорошего Вам дня, Билял
@nikolayvolkov1397
@nikolayvolkov1397 4 жыл бұрын
Билял, привет! В своем решении домашнего задания ты из процедуры в процедуру передаешь переменную (rgCellChecked) типа Range, а потом в целевой процедуре оперируешь сдвигами с переданным значением, не прописывая заново путь (например, Workbooks().Worksheets().Range() ) к исходному диапазону. Я правильно понимаю, что при передаче переменной типа Range (ну и вообще переменных именно с объектами) передаются также и остальные свойства объекта, а не только явно отраженное содержимое?
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, Николай! Да, Вы всё верно поняли - переменные содержат в себе всю связанную с объектом информацию, и именно этим они прекрасны и важны. Кстати, легче воспринимать объектные переменные как ссылки на реальные объекты, об этом можете подробнее узнать из следующего видео: kzbin.info/www/bejne/hn3EdaeXqdN9oK8 С уважением и хороших Вам выходных, Билял
@ЗахваткинИван
@ЗахваткинИван Жыл бұрын
Здравствуйте Билял. Подскажите, пожалуйста, как вставить таблицу в outlook? И как вставить файл excel в outlook? Спасибо!
@yflow5337
@yflow5337 Жыл бұрын
Благодарю за отличный развернутый урок! А нет ли способа программно подключать или выключать библиотеки, через доступ к Среде VBA и управления настройками проекта? Тогда удалось бы объединить преимущства позднего и раннего связываний.
@kingoftime9279
@kingoftime9279 10 ай бұрын
Здраствуйте, подскажите вопрос. При запуске макросов выскакивает надпись Can t find project or library, это говорит о том что у меня не подключены библиотеки ? Пытаюсь дальше включить Tools/Peferences - выскакивают не активации библиотек а password, Это значит кто то в этих настройках поставил пароль ??
@АлексейЛазаренко-р9с
@АлексейЛазаренко-р9с 4 жыл бұрын
Отличный канал! Спасибо за граммотное изложение материала. А возможно ли с Эксель отправлять смс сообщение с персональной информацией?
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, Алексей! Всегда пожалуйста, рад помочь! 😊 Напрямую из Excel отправлять СМС невозможно - но, возможно, есть Add-In сторонних разработчиков (скорее всего платные). В принципе, также можно было бы рассмотреть вариант с отправкой СМС через Internet Explorer с сайтов с подобными услугами. С уважением, Билял
@Российскийинтеллигент
@Российскийинтеллигент 4 жыл бұрын
Здравствуйте, Билял. Есть такая трудность в Excel. Есть массив цифр, например 1, 2, 3, 4 7, 9, 12, 13, 14, 15, 18. Мне нужно представлять их как 1-4, 7, 9, 12-15, 18. То есть все цифры которые идут по порядку должны для краткости писаться через тире, ну а те которые не по порядку должны перечисляться через запятую. Помогите, пжста, написать подобный код. Спасибо!
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, Сергей! Я быстро набросал следующий вариант, работающий как вспомогательный макрос. Попробуйте его: Sub groupNumbersInAnArray(ByRef varArrNumbersToGroup As Variant) Dim lngCounter As Long Dim lngCurrentGroupStart As Long Dim lngCurrentGroupEnd As Long Dim lngLastAddedToTheGroup As Long Dim boolNewGroupIsToStart As Boolean boolNewGroupIsToStart = True Dim collGroupsDone As New Collection lngCurrentGroupStart = varArrNumbersToGroup(1, 1) 'Group start lngLastAddedToTheGroup = varArrNumbersToGroup(1, 1) boolNewGroupIsToStart = False If UBound(varArrNumbersToGroup, 1) = 1 Then MsgBox "Всего одно значение в массиве! Для групирования значений должно быть больше значений в массиве!", vbInformation Exit Sub Else: For lngCounter = 2 To UBound(varArrNumbersToGroup, 1) If varArrNumbersToGroup(lngCounter, 1) = lngLastAddedToTheGroup + 1 Then lngLastAddedToTheGroup = varArrNumbersToGroup(lngCounter, 1) 'Current group continues Else: 'Closing the Group If lngCurrentGroupStart lngLastAddedToTheGroup Then collGroupsDone.Add lngCurrentGroupStart & "-" & lngLastAddedToTheGroup lngCurrentGroupStart = varArrNumbersToGroup(lngCounter, 1) 'New group start lngLastAddedToTheGroup = lngCurrentGroupStart Else: collGroupsDone.Add lngCurrentGroupStart lngCurrentGroupStart = varArrNumbersToGroup(lngCounter, 1) 'New group start lngLastAddedToTheGroup = lngCurrentGroupStart End If End If 'Adding the last one If lngCounter = UBound(varArrNumbersToGroup, 1) Then If lngCurrentGroupStart lngLastAddedToTheGroup Then collGroupsDone.Add lngCurrentGroupStart & "-" & lngLastAddedToTheGroup Else: collGroupsDone.Add lngCurrentGroupStart End If End If Next lngCounter 'Chaning the array Erase varArrNumbersToGroup ReDim varArrNumbersToGroup(1 To collGroupsDone.Count, 1 To 1) For lngCounter = 1 To collGroupsDone.Count varArrNumbersToGroup(lngCounter, 1) = collGroupsDone.Item(lngCounter) Next lngCounter End If End Sub Как было сказано, макрос был быстро написан. Я него немного потестировал, надеюсь учёл все нюансы. Вы потестируйте тоже его, и сообщите мне, пожалуйста, если будут какие-заметки 😊 С уважением, Билял
@bananamastersup
@bananamastersup 3 жыл бұрын
Спасибо за урок и за задачку! Решил сам, но в рамках одной процедуры. Сделал динамический массив, чтобы была возможность отправки писем автоматически при добавлении клиентов. Немного поломал голову с переносом текста на другую строку. В итоге тоже нашел vbNewLine. Заметил одну проблему: при отправке или при закрытие письма (miNewMail.Send/ miNewMail.Close olDiscard) при повторении цикла со следующим клиентом выскакивает ошибка Run-time error '462': The remote server machine does not exist or is unavalible. При этом, если с письмом ничего не делать (не закрывать или не отправлять), цикл работает корректно
@АндрейВасильевич-й9с
@АндрейВасильевич-й9с 3 жыл бұрын
Подскажите у меня нет MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY. Нет в принципе не чего на Outlook/
@НЛОшкаслуны
@НЛОшкаслуны 6 ай бұрын
А если я решу писать в late binding, то где искать значение констант?
@АлексейСоков-ь8и
@АлексейСоков-ь8и 3 жыл бұрын
2021
Извлечение чисел из текста в Excel & VBA (Серия VBA 35)
12:36
Билял Хасенов – Excel, VBA & More
Рет қаралды 15 М.
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 14 МЛН
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 56 МЛН
To Brawl AND BEYOND!
00:51
Brawl Stars
Рет қаралды 16 МЛН
High Stakes, High Performance: Architecture for High-Load Systems (rus)
1:41:15
Andersen People Live
Рет қаралды 1,7 М.
Dictionaries в VBA  (Серия VBA 33)
17:37
Билял Хасенов – Excel, VBA & More
Рет қаралды 11 М.
Multiselect GetOpenFilename - Несколько рабочих книг за раз! - (Серия VBA 29)
13:41
Билял Хасенов – Excel, VBA & More
Рет қаралды 12 М.
Inputbox - Окно для ввода данных в VBA (Серия VBA 30)
17:56
Билял Хасенов – Excel, VBA & More
Рет қаралды 17 М.
How to Use Nested Dictionaries in VBA
8:58
Excel Macro Mastery
Рет қаралды 16 М.
FIND в VBA - полный гайд по поиску в VBA (Серия VBA 26)
24:10
Билял Хасенов – Excel, VBA & More
Рет қаралды 26 М.
Конструкция Select Case - (Серия VBA 20)
11:01
Билял Хасенов – Excel, VBA & More
Рет қаралды 17 М.
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 14 МЛН