Я пытаюсь написать код, но я новичок в кодировании и мне нужна помощь.Гугл помогает только в определенной степени.Буду признателен за помощь.
Письма Outlook будут сохранены в папку на локальном диске (это будет выполнено вручную)
VBA должен выполнить следующие шаги:
- Откройте электронные письма Outlook и сохраните вложение (excel + powerpoint) на локальном диске.
- Надеемся, что в этом сохраненном вложении должна быть метка, например, имя вложения и имя человека, отправившего электронное письмо
Возможно, для этого тоже нужен цикл, поскольку в папке будет сохранено несколько электронных писем
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
Я не могу запустить этот код и не знаю, как его отредактировать, так как я до сих порновичок в кодировании.пожалуйста, помогите с некоторыми объяснениями