Я ищу некоторую помощь по технической проблеме, которая у меня есть. На моем нынешнем рабочем месте у нас есть автоматическая система планирования, которая обрабатывает наши встречи. Когда встреча забронирована (через веб-метод, который мы не можем контролировать), нам отправляется автоматическое электронное письмо (все с того же адреса) с приложением конференции ICS. Затем мы должны открыть это вложение, чтобы оно появилось в наших календарях.

Проблема в том, что это чрезвычайно трудоемкий и ненадежный процесс, поскольку некоторые люди удаляют электронную почту и делают вид, что никогда ее не получали, чтобы избежать работы! Настройка Outlook на автоматическое принятие собраний не работает, поскольку они являются вложениями ICS, а не прямыми приглашениями.

Что мне нужно (в идеале) - это способ автоматически принимать вложение конференции ICS при получении электронного письма без какого-либо пользовательского интерфейса. Это должно автоматически появиться в наших календарях.

У меня есть некоторый опыт работы с VBA, но он крайне минимален и ограничен тем, чтобы вставлять в него решения других людей! Так что любая помощь на этом фронте была бы удивительной.

В случае, если вам нужно знать, мы используем Microsoft Office 2010, поэтому календарь и электронная почта отправляются через Outlook 2010.

Спасибо всем.

1 ответ1

1

На этом сайте я нашел скрипт, который должен делать именно то, что вы просите. Вот скрипт ниже:

Public Sub SaveandOpenAttachments(objMsg As mailitem)
Dim objAttachments As Outlook.Attachments
Dim i As Long
Dim lngCount As Long
Dim strFile As String
Dim strFolderpath As String
Dim oAppt As Object

    ' Get the path to your My Documents folder
    strFolderpath = CreateObject("WScript.Shell").SpecialFolders(16)

    On Error Resume Next

    ' Set the Attachment folder. (Folder must exist.)
    strFolderpath = strFolderpath & "\Att temp\"

    Set objAttachments = objMsg.Attachments

    lngCount = objAttachments.Count
      If lngCount > 0 Then
        For i = lngCount To 1 Step -1
         strFile = objAttachments.item(i).FileName
         strFile = strFolderpath & strFile
         Debug.Print strFile
         objAttachments.item(i).SaveAsFile strFile

Set oAppt = Session.OpenSharedItem(strFile)
  oAppt.Close olSave

     ' should delete strfile too
   SetAttr strFile, vbNormal
    Kill strFile

    Next
    End If

ExitSub:
Set objAttachments = Nothing

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .