Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten Top
#2
Hallo zusammen,

hat niemand eine Idee? :(

Vielen Dank
LG
Alexandra
Antworten 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
Antworten 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)
Antworten Top


Gehe zu:


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