Comments 9
Я сам не пользовался этими версиями офиса, но разве не логичнее исключить из схемы Excel, и всё делать в самом Outlook?
0
Да, можно написать скрипт в самом Outlook и отказаться от Excel, но тогда он будет выводить информацию в диалоговом окне, что на мой взгляд не совсем удобно и это добавит действия для пользователей.
0
Не можно, а нужно. Так будет и быстрее, и оптимальнее. Автор видимо просто решил показать как это сделать через Excel. Т.е. к одной цели ведут разные дороги, одна короткая, а другая длинная )))
0
Офис 365 теперь офлайн?
0
Офис 365 — это ещё и подписка на офлайн офис. Например у меня(корпоративная подписка) в меню Файл-Учётная запись пишется: «Продукт, распространяемый по подписке „Приложения Microsoft 365 для предприятий“(версия Word 2105, build 14026.20246), в админке азуры у меня это выглядит как подписка на „Office 365 E3“( „План Office 365 E3 включает“@MS ).
0
а также точно уверены, что не превысим лимит событий на день.Вот этого в статье не увидел. Какой лимит и как контролируется?
А еще зачем нужно
Set P = oAppointmentItem
если оно дальше не используется и дальше идет
Set N = oAppointmentItem
?Да и последнее тоже зачем?
Можно же сразу писать:
oAppointmentItem.Copy ‘Делаем копию шаблона
oAppointmentItem.Display
oAppointmentItem.Location = Cells(b, 2) ‘место события из ячейки таблицы
Чтобы при открытии книги происходило обновление данных, сохраним скрипт в саму книгу:Если Вы хотите обновлять именно эту книгу, то лучше писать
Private Sub Workbook_Open()
Me.RefreshAll 'или ThisWorkbook.RefreshAll
End Sub
Потому что активной книгой (ActiveWorkbook) может оказаться совсем не то.
Запускать код мы будем, используя двойной клик на строки столбца «Доступность бронирования»ActiveCell в событии Worksheet_BeforeDoubleClick тоже не лучший выбор, ведь есть
ByVal Target As Range
, который точно укажет на какую ячейку кликнул юзер: If Target.Value = "Забронировать" And Target.Column = 5 Then
Вообще объекты, имя которых начинается с Active… (ActiveCell, ActiveSheet, ActiveWorkbook) лучше не использовать при наличии возможности обратиться к ним другим образом.
0
Спасибо за замечания.
Действительно «Set P = oAppointmentItem» лишнее
Использовать .Start и .End нужно для установки времени, в противном случаи встреча создаться длинною в час.
ByVal Target As Range, который точно укажет на какую ячейку кликнул юзер: If Target.Value = «Забронировать» And Target.Column = 5 Then — не знал об этом, буду изучать, спасибо.
Действительно «Set P = oAppointmentItem» лишнее
Использовать .Start и .End нужно для установки времени, в противном случаи встреча создаться длинною в час.
ByVal Target As Range, который точно укажет на какую ячейку кликнул юзер: If Target.Value = «Забронировать» And Target.Column = 5 Then — не знал об этом, буду изучать, спасибо.
0
ммм, старая добрая vba-шка.
кто бы что ни говорил, а макросы ещё будут жить долго.
одно из условий я бы так подправил:
кто бы что ни говорил, а макросы ещё будут жить долго.
одно из условий я бы так подправил:
If A.Value2 = "Забронирован" Then
0
Привет!
Когда сам работал в Северсталь-Инфоком Воронеж - предлагал использовать ревьювер кода VBA - RubberDuck.
Он бы не пропустил: N.Location = Cells(b, 2)
Нет явного указания листа, нет явного указания метода Cells.
+1
Sign up to leave a comment.
Как упростить рутинные задачи, используя VBA