Я хочу создать резервную копию файла при отправке электронного письма. Следующий код работает нормально, если я делаю пошаговую отладку, она работает нормально. Без этого вручную нужно убить задачу Excel, иначе все зависнет:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Call SaveACopy(Item)
End Sub
Sub SaveACopy(Item As Object)
Const olMsg As Long = 3
Dim m As MailItem
Dim savePath As String
If TypeName(Item) <> "MailItem" Then Exit Sub
Set m = Item
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Dim fd As Office.FileDialog
Set fd = xlApp.Application.FileDialog(msoFileDialogFolderPicker)
Dim selectedItem As Variant
If fd.Show = -1 Then
For Each selectedItem In fd.SelectedItems
savePath = selectedItem & "\"
savePath = savePath & Format(Now(), "yyyy-mm-dd - hhNNss")
savePath = savePath & ".msg"
m.SaveAs savePath, olMsg
Next
End If
Set fd = Nothing
xlApp.Quit
Set xlApp = Nothing
End Sub
Есть идеи?