Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2009, 13:46   #1
GoreProgrammist
Пользователь
 
Регистрация: 13.07.2009
Сообщений: 52
По умолчанию Макрос для сохранения писем из Outlook.

Уважаемые программисты, не могли бы вы помочь мне разобраться со скриптом. Нужно что бы скрипт сохранял все письма из определённой папки ("TestFolder"), созданной в папке Inbox в txt на жёсткий диск компьютера.

Код:
Sub SaveAsTXT()
    Dim myOlApp As New Outlook.Application
    Dim myItem As Outlook.Inspector
    Dim objItem As Object
    Set myItem = myOlApp.ActiveInspector
    If Not TypeName(myItem) = "Nothing" Then
        Set objItem = myItem.CurrentItem
        strname = objItem.Subject
        'Prompt the user for confirmation
        Dim strPrompt As String
        strPrompt = "Are you sure you want to save the item?" & _
        "If a file with the same name already exists, " & _
        "it will be overwritten with this copy of the file."	
        If MsgBox(strPrompt, vbYesNo + vbQuestion) = vbYes Then
            objItem.SaveAs "C:\" &  strname & ".txt", olTXT
        End If
    Else
        MsgBox "There is no current active inspector."
    End If
End Sub
Этот скрипт использует myOlApp.ActiveInspector для того что бы сохранить текущее открытое письмо, я подозреваю что вместо него нужно использовать Mail Item Object, но у меня не получилось сделать так что бы код заработал.

С уважением, Кирилл.
GoreProgrammist вне форума Ответить с цитированием
Старый 16.11.2009, 19:40   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Нашел у себя в примерах.
С Outlook никогда не работал,проверить не могу-Outlook-не установлен,с ним не раьотаю
Может поможет код

Код:


Private Sub CommandButton1_Click()

        Dim m As New Outlook.Application
        Dim OLObject As Outlook.Namespace
       OLObject = m.GetNamespace("MAPI")
   
        Dim inbox As Outlook.MAPIFolder
      inbox = OLObject.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
       
      Dim msg As Outlook.MailItem
    For Each msg In inbox.Items
            Dim str As String
           str = msg.Subject
            If str = "TT mobile alarms" And msg.UnRead Then
             
                msg.UnRead = False
                TextBox1.Text = msg.Body
            End If
        Next
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для сохранения всех картинок из Word в файл Nitro Microsoft Office Word 5 24.05.2012 21:05
Сортировка писем Outlook с помощью VBA. GoreProgrammist Microsoft Office Excel 0 28.09.2009 14:14
Интересный макрос для создания писем в Outlook через Excel Neo007 Microsoft Office Excel 17 19.04.2009 20:44
Макрос для сохранения листов в отдельных файлах Neo007 Microsoft Office Excel 2 22.10.2008 18:16
Microsoft Office Outlook : отправка писем gaybiza Софт 1 18.11.2006 00:14