Общее·количество·просмотров·страницы

среда, 7 марта 2012 г.

Удалить все элементы из входящих, которые не являются письмами.

Option Explicit
'Удаление всех элементов, которые не являются письмами
Sub delete()

    Dim Inbox As Object
    Dim mi As Object 'раньше был mailitem и ничего не работало. Почему?
    Dim asdf As Integer
   
    Set Inbox = Outlook.Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox) 'olFolderSentMail)
   
    asdf = Inbox.Items.Count
    For Each mi In Inbox.Items 'Inbox.Items.Restrict("[Unread]=TRUE")
        If mi.Class <> olMail Then
            'MsgBox (mi.Subject)
            Debug.Print (mi.Subject)
        End If
    Next mi

End Sub

понедельник, 5 марта 2012 г.

Изменение имён кода

При открытии книг эксель 2007 версии (*.xlsx, *.xlsm) в екселе 2003 (Version 11). Програмное название листов принимает значение по умолчанию и к листам уже не возможно обращаться с помощью их прогрмного названия:

Outlook: Манипуляции с письмами

Private Sub Application_NewMail()

Set myFolder = Outlook.Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)


On Error GoTo ErrHandler

For Each mi In myFolder.Items.Restrict("[Unread]=TRUE")
If mi.Class = olMail Then
If mi.Attachments.Count = 0 And mi.FlagStatus = olFlagComplete Then
For miNum = 1 To mi.Attachments.Count

Next miNum

End If
End If
Next mi
Exit Sub

ErrHandler:
'MsgBox ("Error was find")
Debug.Print (Err.Description)
Debug.Print (Err.Number)
End Sub



http://www.cyberforum.ru/vba/thread630949.html

Обработка эксель файлов из outlook с помощью vba

В данной статье я рассмотрю вопрос автоматизации обработки данных книг excel, которые вложены в письма outlook. Найболее вероятным использованием этих данных является их загрузка в базу данных или в другую книгу.
1. Обработка входящих сообщений.
Для обработки входящих сообщений Outlook необходимо поместить следующий код в ThisOutlookSession.



2.Обработка входящих файлов excel. Для того чтобы начать обрабатывать файлы excel из приложения outlook необходимо для начала выбрать между ранним и поздним связыванием. Учитывая то, что данный код предполагается использовать на разных компьютерах с разной программной конфигурацией выбор падает на позднее связывание.


Sub ImportNesesseryFields(ByVal sFileFullPath As String)
   
    Dim AppEx As Object
    Dim test As String
    Dim wkbk As Object, sht As Object

    On Error Resume Next
    Set AppEx = CreateObject("Excel.Application")
    'On Error GoTo 0

    AppEx.Visible = True

    Set wkbk = AppEx.Workbooks.Open(sFileFullPath)

    Set sht = GetObject(, "Excel.Application").ActiveSheet

        With sht

        End With
 
        wkbk.Close
        AppEx.Quit
        Set AppEx = Nothing

    Exit Sub

ErrHandler:

    Debug.Print (Err.Description)
    AppEx.Quit
    Set AppEx = Nothing

End Sub