Pull to refresh

Comments 9

Я сам не пользовался этими версиями офиса, но разве не логичнее исключить из схемы Excel, и всё делать в самом Outlook?
Да, можно написать скрипт в самом Outlook и отказаться от Excel, но тогда он будет выводить информацию в диалоговом окне, что на мой взгляд не совсем удобно и это добавит действия для пользователей.

Не можно, а нужно. Так будет и быстрее, и оптимальнее. Автор видимо просто решил показать как это сделать через Excel. Т.е. к одной цели ведут разные дороги, одна короткая, а другая длинная )))

Офис 365 — это ещё и подписка на офлайн офис. Например у меня(корпоративная подписка) в меню Файл-Учётная запись пишется: «Продукт, распространяемый по подписке „Приложения Microsoft 365 для предприятий“(версия Word 2105, build 14026.20246), в админке азуры у меня это выглядит как подписка на „Office 365 E3“( „План Office 365 E3 включает“@MS ).
а также точно уверены, что не превысим лимит событий на день.
Вот этого в статье не увидел. Какой лимит и как контролируется?

А еще зачем нужно
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) лучше не использовать при наличии возможности обратиться к ним другим образом.
Спасибо за замечания.
Действительно «Set P = oAppointmentItem» лишнее
Использовать .Start и .End нужно для установки времени, в противном случаи встреча создаться длинною в час.
ByVal Target As Range, который точно укажет на какую ячейку кликнул юзер: If Target.Value = «Забронировать» And Target.Column = 5 Then — не знал об этом, буду изучать, спасибо.
ммм, старая добрая vba-шка.
кто бы что ни говорил, а макросы ещё будут жить долго.
одно из условий я бы так подправил:
If A.Value2 = "Забронирован" Then

Привет!

Когда сам работал в Северсталь-Инфоком Воронеж - предлагал использовать ревьювер кода VBA - RubberDuck.
Он бы не пропустил:
N.Location = Cells(b, 2)
Нет явного указания листа, нет явного указания метода Cells.

Sign up to leave a comment.