Я пытаюсь написать фрагмент кода, который очистит каталог для всех файлов в нем и прикрепит только последний измененный файл.
Хотя у меня есть код, который будет прикреплять файлы, онадаптация этого кода, с которым я борюсь, и чувствую, что допустил какую-то простую ошибку.
Я начал с кода, который по сути похож на этот
Dim JobLocation As String
JobLocation = InputBox("What is the Clients Name ?")
ClientDirectory = "S:\Client Folder\" & JobLocation & "\Site Drawings\"
RequiredPDFs = Dir(ClientDirectory & "*.pdf")
Do While Len(RequiredPDFs) > 0
.Attachments.Add ClientDirectory & RequiredPDFs
RequiredPDFs = Dir
Loop
Все это выглядит хорошо.
Проблема в том, что я хотел адаптировать код, чтобы найти файл, который был изменен в последний раз, и прикрепить только этот штраф.
Sub Test()
Dim JobLocation As String
Dim objFile As Object
Dim dLastModifiedDate As Date
Dim strLastModifiedFilePath As String
Dim objMail As Outlook.MailItem
Dim ClientDirectory As Object
JobLocation = InputBox("What is the Clients Name ?")
ClientDirectory = "S:\Client Folder\" & JobLocation & "\Site Drawings\"
If ClientDirectory.Files.Count > 0 Then
For Each objFile In ClientDirectory.Files
If (objFile.DateLastModified > dLastModifiedDate) Then
strLastModifiedFilePath = objFile.Path
dLastModifiedDate = objFile.DateLastModified
End If
Next
If strLastModifiedFilePath <> "" Then
Set objMail = Outlook.Application.ActiveInspector.CurrentItem
objMail.Attachments.Add strLastModifiedFilePath
End If
End If
End Sub
Я ожидал, что это будет именно так и пролистать каждыйфайл, сравните его со следующим и затем только прикрепите то, что было LastModified.
В конечном итоге происходит следующее:
'Ошибка времени выполнения'91 ': переменная объекта или переменная блока не установлена'
Любая помощь приветствуется, так как я схожу с ума.