August 11, 2020, 14:15:46

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Bitte um Hilfe bei Outlook VBA

Begonnen von datekk, Mai 16, 2017, 22:12:34

⏪ vorheriges - nächstes ⏩

datekk

Hi Leute,

ich scheine ein Problem mit der Office 365 pro Plus Version zu haben. Irgendwie funktioniert plötzlich mein VBA Code im Outlook nicht mehr.

Sub AccessKontaktOeffnen()

    Dim Selektion As Selection
    Dim SelektierteMail As Outlook.MailItem
    Set Selektion = Application.ActiveExplorer.Selection
    Dim MailAddress As String
   
    For Each SelektierteMail In Selektion

        Debug.Print SelektierteMail.HTMLBody
        Debug.Print GetSMTPAddressForRecipients(SelektierteMail)
        Debug.Print SelektierteMail.SenderEmailAddress
        MailAddress = SelektierteMail.SenderEmailAddress


    Next
   
   
    DoCmd.OpenForm "frm_Geschäftskontakt", , , "EmailAddress1='" & MailAddress & "'"
   
 
End Sub



Bekomme die Fehlermeldung: Laufzeitfehler 13: Typen unverträglich. Markiert ist die Zeile: "For Each SelektierteMail In Selektion".....

Bei einer "normalen" Installation mit Installationsdatenträger für Office 2016 habe ich keine Probleme mit o.g. Code. Die Probleme treten immer nur mit diesen Click-to-Run Installationen auf.......  >:(

Weiß jemand Rat? Ich habe Office jetzt schon unzählige Male deinstalliert, von Version 1703 auf 1702 gedowngraded... Ich habe keinen weiteren Ansatz. Woran kann es liegen, dass der Code von heut auf morgen nicht mehr geht?
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

DF6GL

Hallo,

vielleicht liegt es ja hier:

Call GetSMTPAddressForRecipients(SelektierteMail)

datekk

Nein, der Fehler tritt 1:1 auch in anderen Modulen auf, die diese Zeile nicht besitzen. Auf anderen Rechnern läuft der Code auch ohne Probleme... Ich nehme an, meine Office Installation hat "ne Macke"... Bloß ich bekomme es nicht hin, dies zu orten und zu reparieren.
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

datekk

Gelöst  8)

Der Code muss wie folgt angepasst werden und es läuft wieder:

Dim OlExpl As Outlook.Explorer
Set OlExpl = Application.ActiveExplorer

Set Selektion = OlExpl.Selection


Seltsam ist nur, dass der alte Code von jetzt auf gleich nicht mehr ging, auf anderen Rechnern aber noch läuft.... Danke Microsoft für die 3 grauen Haare mehr auf meinem Kopf....  :o
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

PhilS

Soweit aus dem Codeausschnitt zu sehen ist, verlässt du dich darauf, dass im ActiveExplorer immer nur MailItems selektiert sind. Wenn das mal nicht der Fall ist, würde es zu dem beschriebenen Fehler kommen.

Das ist aber vermutlich nicht die Ursache für das Problem. Warum bei einer Click-to-Run-Installation offenbar manche Typen nicht korrekt registriert werden, kann ich dir nicht beantworten.
Evtl. lässt sich das Problem umgehen, wenn du LateBinding verwendest und SelektierteMail as Object deklarierst.
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

datekk

Das Problem ist gelöst. Siehe oben. Und ja, ich habe nur MailItems selektiert.

Danke für Eure Antworten.
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps