Сохранить электронную почту в несколько папок локально автоматически в зависимости от темы - PullRequest
0 голосов
/ 07 мая 2019

В настоящее время я пытаюсь создать сценарий VBA, который сохранит файл в другом месте на основе строки темы.

Мой vba опыт ограничен ничем, но в настоящее время скрипт запускает первую подпрограмму, поэтому он сохраняет из «Test» в локальную папку с именем «Новая папка», но вторая подпрограмма не работает, и я не уверен, как определить это

Надеюсь, у кого-то более квалифицированного есть идея

Заранее спасибо

Private WithEvents InboxItems As Outlook.Items
Sub Application_Startup()
Dim xNameSpace As Outlook.NameSpace
Set xNameSpace = Outlook.Application.Session
Set InboxItems = xNameSpace.GetDefaultFolder(olFolderInbox).Parent.Folders("Test").Items
Dim fso
Dim xMailItem As Outlook.MailItem
Dim xFilePath As String
Dim xRegEx
Dim xFileName As String






Dim xNameSpace1 As Outlook.NameSpace
Set xNameSpace1 = Outlook.Application.Session
Set InboxItems1 = xNameSpace.GetDefaultFolder(olFolderInbox).Parent.Folders("WIP").Items
Dim fso1
Dim xRegEx1
Dim xMailItem1 As Outlook.MailItem
Dim xFilePath1 As String
Dim xFileName1 As String




End Sub



Private Sub InboxItems_ItemAdd(ByVal objItem As Object)
On Error Resume Next
xFilePath = xFilePath & "C:\New Folder\"
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(xFilePath) = False Then
fso.CreateFolder (xFilePath)
End If
Set xRegEx = CreateObject("vbscript.regexp")
xRegEx.Global = True
xRegEx.IgnoreCase = False
xRegEx.Pattern = "\||\/|\<|\>|""|:|\*|\\|\?"
If objItem.Class = olMail Then
Set xMailItem = objItem
xFileName = xRegEx.Replace(xMailItem.Subject, "")
xMailItem.SaveAs xFilePath & "\" & xFileName & ".html", olHTML
End If
Exit Sub
End Sub



Private Sub InboxItems1_ItemAdd(ByVal objItem1 As Object)
On Error Resume Next
xFilePath1 = xFilePath1 & "C:\Outlook\"
Set fso1 = CreateObject("Scripting.FileSystemObject")
If fso1.FolderExists(xFilePath1) = False Then
fso1.CreateFolder (xFilePath1)
End If
Set xRegEx1 = CreateObject("vbscript.regexp")
xRegEx1.Global = True
xRegEx1.IgnoreCase = False
xRegEx1.Pattern = "\||\/|\<|\>|""|:|\*|\\|\?"
If objItem1.Class = olMail Then
Set xMailItem1 = objItem1
xFileName1 = xRegEx1.Replace(xMailItem1.Subject, "")
xMailItem1.SaveAs xFilePath1 & "\" & xFileName1 & ".html", olHTML
End If
Exit Sub
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...