|
Автоматическая архивация правил Rules Wizard (Мастера правил)В Microsoft Outlook встроена очень полезная утилита - Rules Wizard (Мастера правил). На основании заданных пользователем правил (весьма гибких!) она позволяет автоматически обрабатывать входящую почту и осуществлять другие полезные операции.Правила хранятся в rwz-файлах специального бинарного формата. К сожалению, для архивации правил простого копирования этих файлов не всегда достаточно - архивацию рекомендуется осуществлять через операцию импорта, которая доступна только через пользовательский интерфейс. Для автоматизации этой операции и был написан данный скрипт - он осуществляет архивацию правил автоматически, без вмешательства пользователя. Вот что он делает:
Листинг: ruleswizard.vbsOption Explicit ' В этой константе укажите имя backup-файла Const BackupFileName = "C:\OutlookRulesWizard.rwz" ' Имя программы Const AppName = "Outlook Rules Wizard Backup" ' Удаляем backup-файл, если он уже существует Dim FSO Set FSO = WScript.CreateObject("Scripting.FileSystemObject") If FSO.FileExists(BackupFileName) Then FSO.DeleteFile(BackupFileName) Set FSO = Nothing ' Создаем объект WScript.Shell Dim Shell Set Shell = WScript.CreateObject("WScript.Shell") ' Запускаем Outlook Dim OutlookPath OutlookPath = _ Shell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows" & _ "\CurrentVersion\App Paths\OUTLOOK.EXE\") If Len(OutlookPath) = 0 Then ErrorBox "Cannot find Outlook." On Error Resume Next Shell.Run OutlookPath, 1 If Err.Number <> 0 Then ErrorBox "Cannot run Outlook, error " & _ Hex(Err.Number) & " (hex)." On Error GoTo 0 ' Будем ждать запуска Outlook максимально WaitCount секунд Dim WaitCount WaitCount = 10 ' Ждем, пока запустится Outlook Do While (Not ActivateOutlook) And (WaitCount > 0) Shell.Popup "Waiting for Outlook...", 1, AppName, vbInformation WaitCount = WaitCount - 1 Loop If Not ActivateOutlook Then ErrorBox "Cannot run Outlook." ' Делаем backup WScript.Sleep 500 Shell.SendKeys "%TL%O%E" & BackupFileName & "{ENTER}{ESC}{ESC}" ' Закрываем Outlook WScript.Sleep 500 Shell.SendKeys "%FX" ' Все Set Shell = Nothing ' Эта функция активизирует Outlook Function ActivateOutlook() ActivateOutlook = Shell.AppActivate(" - Microsoft Outlook") End Function ' Эта функция выдает сообщение об ошибке и завершает работу скрипта Sub ErrorBox(Msg) MsgBox Msg, vbCritical, AppName WScript.Quit End Sub Смотри также
|