Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для voler

Ветеран


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

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


Привет всем.

Скажите есть надстройка для outlook 2003, которая позволит восстановить данные из файла данных Бата?

Сам спросил сам и ответил. Вот программа для конвертации Aid4Mail

HTML код: Выделить весь код
Aid4Mail 1.2 - Easily Convert, Export, Migrate, and Archive your Email Aid4Mail is a user-friendly Windows tool that helps you migrate your email messages to a different mail client, export them for viewing through Internet Explorer, MS Excel, or a database, convert them to extract or re-insert attachments, and archive them to save space or for compliance with legal requirements. It supports most popular mail client programs and processes all messages without losing any information, including those with file attachments and embedded contents like pictures and background images. Unlike other migration methods, Aid4Mail can also export message status information such as "unread", "read", "replied", and "forwarded". Aid4Mail produces results quickly and with great accuracy. * System Requirements * Windows 95/98/2000/2003/NT4/ME/XP * 32 MB of RAM, 3 MB disk space * Pentium or AMD processor Supported Mail Formats: * Extended MAPI systems: o Office Outlook (all versions except MS Outlook 97) o Windows Messaging / Exchange Client, etc., * Outlook Personal Storage files (*.pst), * Outlook MSG files (*.msg), * Outlook Express (versions 4, 5, and 6), * EML message files (*.eml), * MHT Web Archive files (*.mht), * Mozilla mailbox files (including Netscape and Thunderbird), * Generic mailbox files (mbox, Berkeley mail format, BSD mail format, Unix mail format), * Eudora mailbox files (*.toc and *.mbx), * PocoMail mailbox files (*.idx and *.mbx), * Opera mailbox files (*.mbs) * Forte Agent mailbox files (*.idx), * The Bat! mailbox files (*.msb and *.tbb), * Pegasus mailbox files (*.pmi, *.pmm, and *.cnm), * Calypso and Courier archive files, * PMMail message files (*.msg), * FoxMail mailbox files (*.box), * maildir folders (local copies), * Mailbag Assistant mailbox files (*.mbg), * E-mail Examiner mailbox files (*.pmx), * and Aid4Mail ZIP archives (*.zip). Aid4Mail can convert/export mail to: * Outlook Personal Storage files (*.pst), * Outlook MSG files (*.msg) - only if source is Extended MAPI mail, * EML message files (*.eml),* MHT Web Archive files (*.mht) - linked from an HTML index page or an MS Excel Workbook file, * MHT files with tab-delimited data file for import into a database, * Mozilla mailbox files (including Netscape and Thunderbird), * Generic mailbox files (mbox, Berkeley mail format, BSD mail format, Unix mail format, * PocoMail mailbox files (*.mbx), * and Aid4Mail ZIP archives (*.zip).

скачать

Прога хороша, но проблема в Триальной версии. Ограничений много. Если кто знает аналоги пишите.

Вот нарыл скрипт, но он не работает. Если кто может отладить его сделайте, это у меня не получилось

HTML код: Выделить весь код
'==================================================================> ' TBExport v.0.01 beta 3 '------------------------------------------------------------------> ' Скрипт для экспорта писем из The Bat! в MS Outlook '------------------------------------------------------------------> ' Автор: ' Исаев Роман (isaevra@mail.ru) ' http://www.mhalf.newmail.ru/ (Правильный сайт для мужчин!) ' Версия: ' 0.01 beta 3 [16.03.2003] ' Последнюю версию скрипта можно взять здесь: ' Или написав мне письмо по адресу: isaevra@mail.ru. ' Примечание: ' Для использования скрипта необходимо присвоить значения восьми ' переменным расположенным ниже по тексту, между этими маркерами: ' [Параметры|START] и [Параметры|FINISH] ' ' Скрипт предназначен для экспорта почтовых сообщений из программы ' The Bat! в программу MS Outlook. Поддерживается перенос прикрепленных ' файлов (Attachments). Полная синхронизация, тоже, возможна, но требует ' времени на написание и отладку программы. ' ' Вы можете изменять и распространять текст скрипта как пожелаете, при ' условии сохранения ссылки на автора. [FREEWARE] ' ' Пожелания и сообщения об ошибках приветствуются. ' ' Если Вы хотите экспортировать письма, одновременно из множества папок The Bat!, ' сделайте несколько копий скрипта и в каждую копию пропишите параметры ' экспорта каждой из Вам необходимых папок. ' ' Как водиться в среде программистов, в случае взрыва Вашего компьютера, ' автор никакой ответственности не несет. Хмм... Попробовал бы сказал это, ' например, мостостроитель или конструктор самолетов! :) ' 0.01 beta 2 [03.12.2002]: ' - Добавлена возможность выбора папки MS Outlook, в которую будут ' помещаться письма импортированные из The Bat!. ' - Теперь перед экспортом письма, проверяется его наличие в MS Outlook. ' Если такое письмо уже существует, экспорт не производится. ' - Добавлены таймауты показа для всех сообщений. Удобно при использовании ' автоматического запуска скрипта: на экране не остается лишних окон. ' 0.01 beta 3 [16.03.2003]: ' - Добавлена возможность удаления сообщений из The Bat! после их успешного экспорта. ' - Добавлена возможность экспорта только тех сообщений, которые имеют (или не имеют) ' установленный статус: ПРОЧТЕНИЯ, ОТВЕТА или ПАРКОВКИ. ' - Добавлена возможность экспортировать присоединенные файлы (Attachments). ' - Добавлен возможность поиска удаленных сообщений в MS Outlook и при их обнаружении, ' удаление этих сообщений и из The Bat!. ' '[Параметры|START]==================================================> '1. Полный путь к файлу: thebat.exe Const strTheBatFilePath = "C:\Program Files\The Bat!\thebat.exe" '2. Название ящика The Bat! из которого будет произведен экспорт. Const strTheBatMailBoxName = "admin@z-tec.ru" '3. Пароль ящика The Bat! (если ящик не защищен паролем оставляем пустую строку: ""). Const strTheBatFolderPassword = "" '4. Путь к папке в ящике The Bat!, из которой нужно экспортировать сообщения. Например: "Inbox\Подписка\Мобильные устройства" (По умолчанию: "") Const strTheBatFolderName = "C:\Documents and Settings\vsinyaev\Application Data\The Bat!\admin@z-tec.ru\Почта Катюшки\Z-tec" '5. Имя папки в MS Outlook, в которую будут помещены сообщения (данная папка должна входить в папку 'Входящие'). Например: "Inbox\Подписка\Безопасность". (По умолчанию: "") Const strOutlookFolderName = "Inbox" '6. Экспорт сообщений в зависимости от их статуса ПРОЧТЕНИЯ. (0-Экспорт всех/1-Экспорт прочитанных/2-Экспорт непрочитанных) Const lngTheBatReadStatus = 0 '7. Экспорт сообщений в зависимости от их статуса ОТВЕТА. (0-Экспорт всех/1-Экспорт отвеченных/2-Экспорт неотвеченных) Const lngTheBatReplayStatus = 0 '8. Экспорт сообщений в зависимости от их статуса ПАРКОВКИ. (0-Экспорт всех/1-Экспорт паркованных/2-Экспорт непаркованных) Const lngTheBatParkStatus = 0 '9. Выполнять экспорт присоединенных файлов (Attachments). (0-Нет/1-Да) Const fExportAttachments = 1 '10. Удаление из The Bat! всех успешно экспортированных писем (0-Нет/1-Да) Const fDeleteMessagesAfterExport = 0 '11. Удаление из The Bat! писем обнаруженных в корзине MS Outlook (0-Нет/1-Да) Const fDeleteMessagesOLDeleted = 1 '12. Количество секунд показа подтверждения на экспорт. (Бесконечно: -1) Const lngPopupTimeout = 10 '13. Количество секунд показа сообщения о результатах работы. (Бесконечно: -1) Const lngFinishTimeout = 10 '[Параметры|FINISH]==================================================> Set wsShell = CreateObject("WScript.Shell") lngReturn = wsShell.Popup("Вы хотите выполнить экспорт сообщений из The Bat! в MS Outlook?" & vbcrlf & vbcrlf & "Для изменения параметров скрипта необходимо щелкнуть" & vbcrlf & "по нему правой кнопкой мыши и выбрать пункт: 'Изменить'." & vbcrlf & "Далее требуется прописать необходимые значения." & vbcrlf & vbcrlf & "Автоматическое продолжение через: " & lngPopupTimeout & " сек.", lngPopupTimeout, "Подтверждение", 1 + 32) If lngReturn = 2 Then Wscript.Quit If strTheBatMailBoxName = "" Then lngReturn = wsShell.Popup("Не указано название ящика в программе The Bat!, из которого необходимо произвести экспорт писем." & vbcrlf & "Необходимо задать значение переменной: strTheBatMailBoxName" & vbcrlf & vbcrlf & "Для изменения параметров скрипта необходимо щелкнуть" & vbcrlf & "по нему правой кнопкой мыши и выбрать пункт: 'Изменить'.", -1, "Неверное название почтового ящика", 0 + 48) Wscript.Quit End If Set FSO = CreateObject("Scripting.FileSystemObject") If Not FSO.FileExists(strTheBatFilePath) Then lngReturn = wsShell.Popup("Файл " & strTheBatFilePath & " не обнаружен." & vbcrlf & vbcrlf & "Для изменения параметров скрипта необходимо щелкнуть" & vbcrlf & "по нему правой кнопкой мыши и выбрать пункт: 'Изменить'.", -1, "Неверный путь к The Bat!", 0 + 48) Wscript.Quit End If Set fdrTempFolder = FSO.GetSpecialFolder(2) strMessageFolder = fdrTempFolder.Path & "\" & FSO.GetTempName() strMessageFolder = Left(strMessageFolder, Len(strMessageFolder)-4) Set fldMessageFolder = FSO.CreateFolder(strMessageFolder) strParameters = "/NOLOGO /MINIMIZE /EXIT /EXPORTU=" & Chr(34) & strTheBatMailBoxName & Chr(34) & ";F=" & Chr(34) & strTheBatFolderName & Chr(34) & ";DIR=" & strMessageFolder If Not strTheBatFolderPassword = "" Then strParameters = strParameters & ";P=" & Chr(34) & strTheBatFolderPassword & Chr(34) If lngTheBatReadStatus = 1 Then strParameters = strParameters & ";READ" If lngTheBatReadStatus = 2 Then strParameters = strParameters & ";UNREAD" If lngTheBatReplayStatus = 1 Then strParameters = strParameters & ";REPLIED" If lngTheBatReplayStatus = 2 Then strParameters = strParameters & ";UNREPLIED" If lngTheBatParkStatus = 1 Then strParameters = strParameters & ";PARKED" If lngTheBatParkStatus = 2 Then strParameters = strParameters & ";UNPARKED" If fDeleteMessagesAfterExport = 1 Then strParameters = strParameters & ";DELETE" strCommand = Chr(34) & strTheBatFilePath & Chr(34) & strParameters lngReturn = wsShell.Run (strCommand, 1, True) lngFilesCount = fldMessageFolder.Files.Count If lngFilesCount <> 0 Then Set appOutlook = CreateObject("Outlook.Application") Set nsOutlookNameSpace = appOutlook.GetNameSpace("MAPI") Set olInboxFolder = nsOutlookNameSpace.GetDefaultFolder(6) Set olFolderDeletedItems = nsOutlookNameSpace.GetDefaultFolder(3) lngMailCount = 0 If fDeleteMessagesAfterExport = 1 Then lngCountDeletedMessages = lngFilesCount Else lngCountDeletedMessages = 0 strArray = Split(strOutlookFolderName,"\") For i = 0 to UBound(strArray) 'Поиск необходимой папки в MS Outlook. strCurrentFolder = strArray(i) If i = 0 Then If UCase(strCurrentFolder) <> "INBOX" Then lngReturn = wsShell.Popup("Задан неверный формат пути к папке MS Outlook, в которую необходимо поместить письма." & vbCrLf & "Все письма будут помещены в папку 'Входящие'.", -1, "Неверный формат пути", 0 + 48) Exit For End If Else Set olInboxFolder = olInboxFolder.Folders(strCurrentFolder) End If Next For lngCurrentFileIndex = fldMessageFolder.Files.Count To 1 Step -1 '-----[Перебор всех message|START]---------------------> strCurrentFileName = strMessageFolder & "\" & String(8 - Len(CStr(lngCurrentFileIndex)), "0") & CStr(lngCurrentFileIndex) & ".MSG" Set filCurrentFile = FSO.GetFile(strCurrentFileName) Set objStream = CreateObject("ADODB.Stream") objStream.Open objStream.LoadFromFile filCurrentFile.Path Set cdoMessage = CreateObject("CDO.Message") Set cdoDataSource = cdoMessage.DataSource cdoDataSource.OpenObject objStream, "_Stream" strMessageID = cdoMessage.Fields("urn:schemas:mailheader:message-id") strFilter = "[BillingInformation] = '" & strMessageID & "'" fMessageBeDeleteNow = 0 If fDeleteMessagesOLDeleted = 1 Then 'Поиск и удаление из The Bat! сообщений обнаруженных в корзине MS Outlook. Set objFindDelMailItem = olFolderDeletedItems.Items.Find(strFilter) If Not objFindDelMailItem Is Nothing Then strMessageNumber = CStr(Clng(Left(filCurrentFile.Name, Len(filCurrentFile.Name)-4)) - 1) strDeletedFolder = strMessageFolder & "\" & FSO.GetTempName() strDeletedFolder = Left(strDeletedFolder, Len(strDeletedFolder)-4) Set fldDeletedFolder = FSO.CreateFolder(strDeletedFolder) strDeletedParameters = "/NOLOGO /MINIMIZE /EXIT /EXPORTU=" & Chr(34) & strTheBatMailBoxName & Chr(34) & ";F=" & Chr(34) & strTheBatFolderName & Chr(34) & ";DIR=" & strDeletedFolder & ";DELETE" & ";START=" & strMessageNumber & ";END=" & strMessageNumber If Not strTheBatFolderPassword = "" Then strDeletedParameters = strDeletedParameters & ";P=" & Chr(34) & strTheBatFolderPassword & Chr(34) strDeletedCommand = Chr(34) & strTheBatFilePath & Chr(34) & strDeletedParameters lngReturn = wsShell.Run (strDeletedCommand, 1, True) WScript.Sleep 1000 fMessageBeDeleteNow = fldDeletedFolder.Files.Count If fDeleteMessagesAfterExport = 0 Then lngCountDeletedMessages = lngCountDeletedMessages + fMessageBeDeleteNow For Each filDeletedFile In fldDeletedFolder.Files filDeletedFile.Delete Next FSO.DeleteFolder(strDeletedFolder) Set fldDeletedFolder = Nothing End If End If If fMessageBeDeleteNow = 0 Then Set objFindMailItem = olInboxFolder.Items.Find(strFilter) If objFindMailItem Is Nothing Then 'Перенос сообщения из The Bat! в MS Outlook (если текущее сообщение в MS Outlook не найдено). Set objMailItem = appOutlook.CreateItem(olMailItem) '-----[Перенос свойств в MailItem|START]------> objMailItem.BillingInformation = strMessageID objMailItem.To = cdoMessage.To objMailItem.SentOnBehalfOfName = cdoMessage.From objMailItem.BCC = cdoMessage.BCC objMailItem.CC = cdoMessage.CC objMailItem.Subject = cdoMessage.Subject objMailItem.AlternateRecipientAllowed = True objMailItem.HTMLBody = cdoMessage.HTMLBody cdoMessage.AutoGenerateTextBody = True If cdoMessage.Attachments.Count > 0 And fExportAttachments = 1 Then 'В письме присутствуют присоединенные файлы (Attachments) objMailItem.Body = vbCrLf & cdoMessage.TextBody strAttachmentsFolder = strMessageFolder & "\" & FSO.GetTempName() strAttachmentsFolder = Left(strAttachmentsFolder, Len(strAttachmentsFolder)-4) Set fldAttachmentsFolder = FSO.CreateFolder(strAttachmentsFolder) For lngI = 1 To cdoMessage.Attachments.Count Step 1 'Добавляем присоединенные файлы (Attachments) strAttachmentFile = cdoMessage.Attachments.Item(lngI).FileName If strAttachmentFile = "" Then strAttachmentFile = FSO.GetTempName() strAttachmentFilePath = strAttachmentsFolder & "\" & strAttachmentFile cdoMessage.Attachments.Item(lngI).SaveToFile (strAttachmentFilePath) objMailItem.Attachments.Add strAttachmentFilePath, 1, lngI, strAttachmentFile Next For Each filAttachmentFile In fldAttachmentsFolder.Files filAttachmentFile.Delete Next FSO.DeleteFolder(strAttachmentsFolder) Set fldAttachmentsFolder = Nothing Else objMailItem.Body = cdoMessage.TextBody End If '-----[Перенос свойств в MailItem|FINISH]-----> objMailItem.Save objMailItem.Move(olInboxFolder) lngMailCount = lngMailCount + 1 End If End If filCurrentFile.Delete '-----[Перебор всех message|FINISH]--------------------> Next If lngMailCount > 0 Then lngReturn = wsShell.Popup("В MS Outlook успешно экспортировано: " & lngMailCount & " писем." & vbcrlf & "Из The Bat! удалено: " & lngCountDeletedMessages & " писем." & vbcrlf & vbcrlf & "Желаю приятных новостей." & vbcrlf & vbcrlf & "Автоматическое продолжение через: " & lngFinishTimeout & " сек.", lngFinishTimeout, "Экспорт завершен", 0 + 64) Else lngReturn = wsShell.Popup("Новых писем для экспорта в MS Outlook не обнаружено." & vbcrlf & "Из The Bat! удалено: " & lngCountDeletedMessages & " писем." & vbcrlf & vbcrlf & "Автоматическое продолжение через: " & lngFinishTimeout & " сек.", lngFinishTimeout, "Экспорт завершен", 0 + 64) End If Else lngReturn = wsShell.Popup("Писем для экспорта в MS Outlook не обнаружено." & vbcrlf & "Из The Bat! удалено: " & lngCountDeletedMessages & " писем." & vbcrlf & vbcrlf & "Автоматическое продолжение через: " & lngFinishTimeout & " сек.", lngFinishTimeout, "Экспорт завершен", 0 + 48) End if WScript.Sleep 1000 FSO.DeleteFolder(strMessageFolder) Wscript.Quit


Последний раз редактировалось voler, 31-05-2007 в 15:12.


Отправлено: 09:27, 31-05-2007 | #169