Я пишу макрос, который будет ежедневно сохранять электронные письма. Я просто подумал о ситуации, которая может произойти. Иногда я получаю электронные письма с одной и той же темой от отправителя, но каждое письмо имеет разное содержание. Я хотел бы иметь набор операторов, которые будут обрабатывать это. Может быть, сказать, что это копия, или, может быть, даже добавить время к имени файла. Это код, который у меня есть прямо сейчас.
Public Sub SaveMsgs(Item As Outlook.MailItem)
Dim sPath As String
Dim dtDate As Date
Dim sName As String
Dim enviro As String
Dim sSender As String
Dim strFolder As String
Dim strNewFolder As String
Dim save_to_folder As String
Dim strMyPath as String
Dim intCount as Integer
Dim
enviro = CStr(Environ("USERPROFILE"))
sName = Item.Subject
ReplaceCharsForFileName sName, "_"
sSender = Item.Sender
dtDate = Item.ReceivedTime
sName = sSender & " - " & sName & ".msg"
strNewFolder = Format(Date, "mm-dd-yyyy")
strFolder = "C:\IT Documents\" & strNewFolder & "\"
If Len(Dir(strFolder, vbDirectory)) = 0 Then
MkDir (strFolder)
End If
save_to_folder = strFolder
Item.SaveAs save_to_folder & sName, olMSG
End Sub
Private Sub ReplaceCharsForFileName(sName As String, _
sChr As String _)
sName = Replace(sName, "/", sChr)
sName = Replace(sName, "\", sChr)
sName = Replace(sName, ":", sChr)
sName = Replace(sName, "?", sChr)
sName = Replace(sName, Chr(34), sChr)
sName = Replace(sName, "<", sChr)
sName = Replace(sName, ">", sChr)
sName = Replace(sName, "|", sChr)
End Sub
Вот код, о котором я думал добавить.
Do While True
strMyPath = strFolder & sName
If objFSO>FileExists(strMyPath) Then
intCount = intCount + 1
sName = Copy (" & intCount & ")
Else Exit Do
End If
Loop
Будет ли что-то подобное работать для того, что я пытаюсь сделать, или было бы лучше добавить время к имени файла?
Dim
в конце ваших объявлений ;). - person shA.t   schedule 12.05.2015