Ich versuche, ausgewählte Outlook-Mails zu greifen, sie auf der Festplatte als HTML zu speichern und eine andere Anwendung auszuführen.Ausführen eines Programms mit Shell - Kompilierfehler: Objekt erforderlich
Während E-Mails gespeichert werden, kämpfe ich mit dem Ausführen der anderen Anwendung. Es gibt einen "Kompilierfehler: Objekt erforderlich".
Public Sub maile()
Dim oMail As Outlook.MailItem
Dim objItem As Object
Dim sPath As String
Dim dtDate As Date
Dim sName As String
Dim enviro As String
Dim objShell As String
enviro = CStr(Environ("USERPROFILE"))
For Each objItem In ActiveExplorer.Selection
If objItem.MessageClass = "IPM.Note" Then
Set oMail = objItem
sName = oMail.Subject
ReplaceCharsForFileName sName, "-"
dtDate = oMail.ReceivedTime
sName = Format(dtDate, "yyyymmdd", vbUseSystemDayOfWeek, _
vbUseSystem) & Format(dtDate, "-hhnnss", _
vbUseSystemDayOfWeek, vbUseSystem) & "-" & sName & ".html"
sPath = "c:\maile\"
Debug.Print sPath & sName
oMail.SaveAs sPath & sName, olHTML
End If
strProgramPath = "C:\Pedro\dist\Pedro\Pedro.exe"
Set objShell = CreateObject("WScript.Shell")
objShell.Run strProgramPath
Next
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, ":", 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
Wissen Sie, welche Codezeile den Fehler generiert? –