Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2016 - Outlook не видны скрипты в окне скриптов

Ответить
Настройки темы
2016 - Outlook не видны скрипты в окне скриптов

Пользователь


Сообщения: 113
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изменения
Автор: kibernetics
Дата: 19-02-2018
Изображения
Тип файла: png scripts.PNG
(9.7 Kb, 7 просмотров)
Тип файла: png scenario.PNG
(20.4 Kb, 7 просмотров)
Форумчане,
написал небольшой обработчик на VBA. Сам скрипт виден на панели инструментов
http://forum.oszone.net/attachment.p...6&d=1519068542

но когда добавляю правило к обработке письма, и среди прочих действий устанавливаю флаг "запустить скрипт", то в окне с выбором скриптов ничего не отображается.
Ни одного скрипта
http://forum.oszone.net/attachment.p...7&d=1519068656

как так то? Что где включить можно?

Отправлено: 22:32, 19-02-2018

 

Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


kibernetics, если макросы запускаются через кнопку (то есть их выполнение разрешено и они загружены), то вероятно причина в параметре (источник - support.microsoft.com - Создание сценария для мастера правил в Outlook):
Цитата:
Для реализации обработки сообщения настраиваемым кодом необходимо создать подпрограмму в Visual Basic for Applications. Само по себе имя подпрограммы значения не имеет, но оно должно принимать один аргумент, так как мастер правил будет передавать подпрограмме сообщение (MailItem) или запрос о встрече (MeetingItem). Тип аргумента должен быть MailItem или MeetingItem, иначе подпрограмма будет недоступна в мастере правил.
Нижеприведенный код Outlook Visual Basic for Applications демонстрирует процедуру создания подпрограмм:

Sub CustomMailMessageRule(Item As Outlook.MailItem)
MsgBox "Mail message arrived: " & Item.Subject
End Sub

Sub CustomMeetingRequestRule(Item As Outlook.MeetingItem)
MsgBox "Meeting request arrived: " & Item.Subject
End Sub
Подпрограммы можно разместить в любом модуле, включая ThisOutlookSession, но при перемещении подпрограммы в другой модуль или изменении имени подпрограммы необходимо изменить правило для указания на обновленную подпрограмму.
то есть достаточно указать параметр в качестве аргумента, использовать его в коде не обязательно, например код ниже доступен в мастере правил:
Код: Выделить весь код
Public Sub dsf(Item As Outlook.MailItem)
MsgBox "Yes"
End Sub

Последний раз редактировалось a_axe, 19-02-2018 в 23:13.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:04, 19-02-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 113
Благодарности: 2

Профиль | Отправить PM | Цитировать


Вот жеш... и видел же это где-то на форумах, про передачу параметра.
И не проверил, подумал чёта, что после какого-то там ноябрьского обновления это условие убрали. Ан нет...

Спасибо дорогой товарищ! Заработало.

Отправлено: 23:47, 19-02-2018 | #3


Пользователь


Сообщения: 113
Благодарности: 2

Профиль | Отправить PM | Цитировать


Эх, зараза малая,
даёт выбрать скрипт, но не хочет в него входить.
Поставил брейк на макросе, включаю обработку входящего письма - зеро бадимувинг.
Чё делать?

И, вообще, может авторитетнее писать через
Цитата:
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
?

Но, как-то не очень удобно правила в таком случае прописывать.

Отправлено: 01:51, 20-02-2018 | #4


Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Цитата kibernetics:
даёт выбрать скрипт, но не хочет в него входить. »
kibernetics, сложно сказать не увидев кода. Мой пример
Цитата a_axe:
Код:
Public Sub dsf(Item As Outlook.MailItem)
MsgBox "Yes"
End Sub »
у меня выполняется именно через правило, т.е. саму процедуру outlook обрабатывает.
Цитата kibernetics:
Поставил брейк на макросе, включаю обработку входящего письма »
Соответственно, выполняется ли само правило (добавьте какое-нибудь действие - вывести текст или оповещение, которое даст визуальное подтверждение, что само правило выполняется).
Если в процедуру попадаете - после брейка продолжите выполнение пошагово через F8, основные переменные скопируйте в окно Watches и отследите, присвоены ли им значения, как они меняются в процессе выполнения и т.д.

-------
[Форум Word и Excel] - [Как запустить Word, Excel и Outlook в безопасном режиме?] - [Как удалить шаблон Word Normal.dotm?]


Отправлено: 10:05, 20-02-2018 | #5


Пользователь


Сообщения: 113
Благодарности: 2

Профиль | Отправить PM | Цитировать


Надо провести ещё кое-какие исследования, но по ходу человек дело говорит,
Цитата:
A "run a script" rule is not a good choice for heavy traffic applications, as Outlook is likely to skip applying the rule if too many items arrive that meet the rule's conditions.

To avoid security prompts when accessing properties like Body and Recipients, you must use the technique above to get the item indirectly, through its EntryID property and the Namespace.GetItemFromID method (or Application.Session object). If you attempt to access MyMail.Body or MyMail.SenderName, for example (MyMail being the name of the parameter for the "run a script" rule procedure), you will get a security prompt.

Generally, items that you want to process by a "run a script" rule should not be processed by other rules or other actions in the same rule. Put that rule high on the list, and include the "stop processing" action. Include in your VBA procedure all the actions you want to take on the items that meet the rule's conditions.

WARNING: I have seen cases where a machine running "run a script" rules completely loses the VbaProject.otm file that contains all the Outlook VBA code. If you use "run a script" rules, be sure to back up VbaProject.otm regularly or export the individual modules.
Источник

Дословно, если есть run script, то больше не должно быть других обработок.
К тому же, наблюдались случаи потери файла проекта.

Отправлено: 11:17, 20-02-2018 | #6



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2016 - Outlook не видны скрипты в окне скриптов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Не видны принтеры MrSkif Microsoft Windows NT/2000/2003 3 20-12-2013 16:40
Flash - флешки не видны alfey Накопители (SSD, HDD, USB Flash) 5 16-09-2013 15:45
V. 2007 - Lotus Notes vs Outlook 2007 (или 2003) - не видны вложения z3f Microsoft Exchange Server 3 01-06-2010 16:23
Не видны некоторые файлы ZakharS Microsoft Windows 2000/XP 16 16-01-2006 12:54
В локалке не видны машины! keeper_fly Сетевые технологии 3 11-12-2003 19:10




 
Переход