none
Leere Fehlermeldung bei Ausführung eines Codes

    Frage

  • Hallo Zusammen,

     

    ich speichere per VBA E-Mails im Dateisystem. Dazu nutze ich folgenden Code:

    Function SaveOLItem(strEntryID As String, strAblagepfad As String) As String
    'On Error GoTo err_SaveOLItem


    Dim objOutlApp As Outlook.Application
    Dim objNameSpace As Outlook.NameSpace
    Dim strBetreff As String
    Dim strSaveAs As String
    Dim strDateiname As String

    Set objOutlApp = CreateObject("Outlook.Application")
    Set objNameSpace = objOutlApp.GetNamespace("MAPI")

    Dim objMyItem As Object
    'On Error Resume Next

    'If IsNull(strStoreID) Then

    Set objMyItem = objNameSpace.GetItemFromID(strEntryID)
    If objMyItem Is Nothing Then
        Set objMyItem = objNameSpace.GetItemFromID(strEntryID)
    End If
    If objMyItem Is Nothing Then
        MsgBox ("Item mit dieser EntryID existiert nicht")
    End If

    'Else

    'Set objMyItem = objNameSpace.GetItemFromID(strEntryID, strStoreID)
    'If objMyItem Is Nothing Then
    'Set objMyItem = objNameSpace.GetItemFromID(strEntryID, strStoreID)
    'End If
    'If objMyItem Is Nothing Then
    'MsgBox ("Item mit dieser EntryID existiert nicht")
    'End If
    'End If

    'objMyItem.Display
    strBetreff = objMyItem.Subject
    strBetreff = UnerlaubteZeichenErsetzen(strBetreff)
    strDateiname = strBetreff & ".msg"

    'strDateiname = "test.msg"
    strSaveAs = strAblagepfad & "\" & strDateiname

    objMyItem.SaveAs strSaveAs, olMSG

    SaveOLItem = strDateiname

    err_SaveOLItem:

    MsgBox Err.Description


    End Function

     

    Das läuft auch soweit durch und tut was ich will, aber nach dem Speichern kommt ein Popup - ich würde mal sagen es ist eine Fehlermeldung - das aber außer dem OK Button überhaupt keinen Inhalt hat.

    Was will mir diese Information sagen und vor allem wie bekomme ich sie weg?

    Ach so. Das ganze passiert in einer adp unter Access 2007.

    Vielen Dank für Hilfe.

     

    Grüße

     

    Patrick

    Mittwoch, 25. Januar 2012 16:02

Antworten

  • Function SaveOLItem(strEntryID As String, strAblagepfad As String) As String
    'On Error GoTo err_SaveOLItem

    ....


    SaveOLItem = strDateiname

    err_SaveOLItem:

    MsgBox Err.Description


    End Function


    Hallo Patrick,

    genau deswegen: Du gibts am Ende eine MsgBox mit der Fehlermeldung aus; nur gab es keinen Fehler und deswegen ist die MsgBox leer.

    Du solltest nach
    SaveOLItem = strDateiname
    ein
    Exit Function
    setzen, damit im Erfolgsfall keine Fehlermeldung ausgegeben wird. Zudem solltest Du die On Error Anweisung entkommentieren, damit auch das Errorhandling überhaupt funktioniert.

    Function SaveOLItem(strEntryID As String, strAblagepfad As String) As String
        On Error GoTo err_SaveOLItem
    
        ' .... 
    
        SaveOLItem = strDateiname
        Exit Function
     
    err_SaveOLItem:
        MsgBox Err.Description
    End Function


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Mittwoch, 25. Januar 2012 17:49