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

среда, 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


воскресенье, 19 февраля 2012 г.

Програмное закрытие экселя.


Sub Close_Excel()
Dim strClsExl As String
strClsExl = "TASKKILL /F /IM Excel.exe"
Shell strClsExl, vbHide

End Sub 
findsarfaraz.blogspot.com 

четверг, 16 июня 2011 г.

Reference object by codename

wkbk - workbook.codename
Reference to workbook:
wkbk.[properties/methods of workbook]
sh - worksheets.codename
Reference to worksheet:
sh.[properties/methods of worksheet]
Reference to specific worksheet of specific workbook:
wkbk.VBProject.VBComponents(sh)

четверг, 5 мая 2011 г.

Личная книга макросов для разных экселей.

Если у вас на компьютере установлены разные версии Microsoft Excel. Например Excel 2003 & Excel 2007, то при открытии Excel 2003 может возникнуть проблема для считывания файла личной книги макросов. Для того, чтобы excel 2007 мог читать файл личной книги макросов, без проблем для excel 2003, нужно поместить эти файлы C:\Program Files\MS Office 2007\Office12\XLSTART.