Откройте и сохраните вложение (excel + powerpoint) в электронной почте Outlook -> это электронное письмо Outlook будет сохранено на диске - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь написать код, но я новичок в кодировании и мне нужна помощь.Гугл помогает только в определенной степени.Буду признателен за помощь.

Письма Outlook будут сохранены в папку на локальном диске (это будет выполнено вручную)

VBA должен выполнить следующие шаги:

  1. Откройте электронные письма Outlook и сохраните вложение (excel + powerpoint) на локальном диске.
  2. Надеемся, что в этом сохраненном вложении должна быть метка, например, имя вложения и имя человека, отправившего электронное письмо

Возможно, для этого тоже нужен цикл, поскольку в папке будет сохранено несколько электронных писем

ub OpenAllAttachments()
    Dim objMail As String
    Dim objAttachments As Outlook.attachments
    Dim objAttachment As Outlook.Attachment
    Dim objFileSystem As Object
    Dim objTempFolder As Object
    Dim strFile As String
    Dim objWordApp As Word.Application
    Dim objWordDocument As Word.Document
    Dim objWordRange As Word.Range
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkbook As Excel.Workbook
    Dim objExcelWorkSheet As Excel.Worksheet
    Dim objExcelRange As Excel.Range

    Set objMail = "\\srvshrfolder01\"
    Set objAttachments = objMail.attachments

    If objAttachments.Count > 0 Then
       For Each objAttachment In objAttachments
           'Save the attachments to Temp folder
           Set objFileSystem = CreateObject("Scripting.FileSystemObject")
           Set objTempFolder = objFileSystem.GetSpecialFolder(2)
           strFile = objTempFolder.Path & "\" & objAttachment.DisplayName
           objAttachment.SaveAsFile strFile

           'Batch open all the attached Word documents and Text Files
           If InStr(LCase(strFile), "docx") > 0 Or InStr(LCase(strFile), "doc") > 0 Or InStr(LCase(strFile), "txt") > 0 Then
              Set objWordApp = CreateObject("Word.Application")
              Set objWordDocument = objWordApp.Documents.Open(strFile)
              objWordDocument.Activate
              Set objWordRange = objWordDocument.Range(0, 0)
              objWordApp.Visible = True
              objWordDocument.ActiveWindow.Visible = True
           End If

          'Batch open all the attached Excel workbooks
          If InStr(LCase(strFile), "xlsx") > 0 Or InStr(LCase(strFile), "xls") > 0 Then
             Set objExcelApp = CreateObject("Excel.Application")
             Set objExcelWorkbook = objExcelApp.Workbooks.Open(strFile)
             Set objExcelWorkSheet = objExcelWorkbook.Sheets(1)
             objExcelWorkSheet.Activate
             Set objExcelRange = objExcelWorkSheet.Range("A1")
             objExcelRange.Activate
             objExcelApp.Visible = True
          End If

          'Batch open all the attached pictures via Windows image view
          If InStr(LCase(strFile), "jpg") > 0 Or InStr(LCase(strFile), "png") > 0 Or InStr(LCase(strFile), "jpeg") > 0 Then
             Shell "RunDLL32.exe C:\Windows\System32\Shimgvw.dll,ImageView_Fullscreen " & strFile
          End If
       Next
    End If
End Sub

Я не могу запустить этот код и не знаю, как его отредактировать, так как я до сих порновичок в кодировании.пожалуйста, помогите с некоторыми объяснениями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...