Laufzeitfehler 5 - Ungültiger Prozeduraufruf oder ungültiges Argument
#1
Hallo liebe Excel-Freunde,

ich habe mal wieder ein Problem und hoffe Ihr könnt mir dabei helfen :)

Bei folgenden Code kommt bei 1 von 4 PCs in der Arbeit zu dem im Betreff genannten Laufzeitfehler, der Code bleibt hängen in der Zeile:

"If Range("J1") <> "x" Then .Send"

gelb markiert wird dabei aber nur das ".Send" nicht wie sonst die komplette Zeile?


Code:
Private Sub Senden()
Wahl = MsgBox("Bestellung senden?", vbYesNo)
If Wahl <> 6 Then Exit Sub
    ActiveSheet.PrintOut copies:=3
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Bestellungen\" & Range("A1").Text & " " & "KL" & Range("I6") & " " & Range("A27"), Quality:=xlQualityStandard, IncludeDocProperties _
        :=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    Dim olApp As Object
    Set olApp = CreateObject("Outlook.Application")
    With olApp.CreateItem(0)
        .GetInspector
        .Recipients.Add Range("A12").Value
        .Subject = Range("A1").Text & " " & "KL" & Range("I6") & " " & Range("A27")
        .ReadReceiptRequested = True
        .Attachments.Add "C:\Bestellungen\" & Range("A1").Text & " " & "KL" & Range("I6") & " " & Range("A27") & ".PDF"
        If Range("J1") = "x" Then .display
        If Range("J1") <> "x" Then .Send
        MsgBox ("Bestellung wurde erfolgreich gesendet!")
    End With
    Set olApp = Nothing
End Sub

Bis vor kurzem hat es immer ohne Probleme funktioniert und auch jetzt wenn ein "x" in J1 vorhanden dann funktioniert es immer noch ohne Probleme. Nur wenn kein "x" in J1 vorhanden dann geht es auf einen PC nicht mehr aber auf den andere 3 schon! Hat jemand eine Idee?

Vielen lieben Dank
LG Alexandra
Top
#2
Hallo zusammen,

hat niemand eine Idee? :(

Vielen Dank
LG
Alexandra
Top
#3
Hallo Alexandra

ich wundere mich das noch kein Kollege an deinen Thread herangegangen ist?  Ich habe keine Ahnung woran der Fehler liegt??
Bei "harte Nüsse" probiere ich gerne mit MsgBoxen aus ob man damit erkennen kann woran der Fehler liegt.  Ob es klappt weiss ich nicht??
Einen Versuch ist es wert. Eine wichtige Frage ist, ob -On Error Resume Next- den Fehler abfangen kann?? Das klappt auch nicht immer. Versuch macht klug!
Noch eine Frage:  arbeitet ihr evtl. mit verschiedenen Excel Versionen, das es an der Version iegen kann??  Im Augenblick alles ungeklaert.

mfg Gast 123

Code:
Private Sub Senden()
Wahl = MsgBox("Bestellung senden?", vbYesNo)
If Wahl <> 6 Then Exit Sub
    On Error Resume Next   '** neu eingefügt
    ActiveSheet.PrintOut copies:=3
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Bestellungen\" & Range("A1").Text & " " & "KL" & Range("I6") & " " & Range("A27"), Quality:=xlQualityStandard, IncludeDocProperties _
        :=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    Dim olApp As Object
    Set olApp = CreateObject("Outlook.Application")
    With olApp.CreateItem(0)
    If Not olApp.CreateItem(0) Is Nothing Then   '** neu eingefügt
        .GetInspector
        .Recipients.Add Range("A12").Value
        .Subject = Range("A1").Text & " " & "KL" & Range("I6") & " " & Range("A27")
        .ReadReceiptRequested = True
        .Attachments.Add "C:\Bestellungen\" & Range("A1").Text & " " & "KL" & Range("I6") & " " & Range("A27") & ".PDF"
        If Range("J1") = "x" Then .display
        If Range("J1") <> "x" Then .Send
       
        '** Versuch den Fehler zu analysieren
        If Err > 0 Then
           MsgBox Err & vbLf & Error()
           MsgBox "Zelle J1 = " & Range("J1").Value
           MsgBox "Recipients  " & Range("A12").Value
           MsgBox "Subject:  " & Range("A1").Text & " " & "KL" & Range("I6") & " " & Range("A27")
           MsgBox "Attachments:  " & "C:\Bestellungen\" & Range("A1").Text & " " & "KL" & Range("I6") & " " & Range("A27") & ".PDF"
        End If
       
        MsgBox ("Bestellung wurde erfolgreich gesendet!")
    End If
    End With
    Set olApp = Nothing
End Sub
Top
#4
Hallöchen,

schaue mal auf dem betreffenden PC, was da in letzter Zeit gelaufen ist. Ein Outlook-Update? Eine Änderung von Sicherheitseinstellungen im Outlook bzw. für den E-Mail-Versand?
Wenn die E-Mail gezeigt wird kannst Du einfach Senden oder musst Du dort jetzt den Staus wählen (Intern, Vertraulich oder was auch immer?)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste