none
Office 2013 (Office-Bibliothek "Microsoft Outlook 15.0 Object Library") RRS feed

  • Frage

  • In der Firma in der ich Arbeite haben wir im letzten Jahr auf Windows 10 mit Office 2013 geupdatet. In unseren dezentralen Verkaufsstellen haben wir jedoch noch PCs mit Windows XP und Office 2010.

    Ich habe nun ein Excel-Makro geschrieben bei dem ich mit dem klick auf einen Button ein Mail mit Anhang erstelle. Auf meinem PC funktioniert das Makro Perfekt. Auf den PC mit Windows XP funktioniert das Makro nicht.

    Ich habe herausgefunden, das es an der Office-Bibliothek "Microsoft Outlook 15.0 Object Library" bzw. "Microsoft Outlook
    14.0 Object Library" hängt.

    Ist es möglich über ein Makro die Bibliothek-Verknüpfung "Microsoft Outlook 15.0 Object Library" aufzulösen und eine neue Verknüpfung zur Bibliothek "Microsoft Outlook 14.0 Object Library" zu erstellen?

    Von hand ist es möglich dies über Extras -> Verwise... zu machen. Dies ist für mich jedoch keine Lösung des Problems.

    Public Sub DateiSenden()
        InitializeOutlook = True ' Zugriff auf die Outlook-Bibliothek Inizialisieren
        Sheets("Formular").Select
       
        Dim OutApp As Outlook.Application   ' Variable OutApp erstellen
        Dim Nachricht As Outlook.MailItem   ' Variable Nachricht erstellen
        Dim strFilename As String           ' Variable strFilename für Dateianhang erstellen
       
        ChDir "C:\Temp"
        strFilename = "C:\Temp\Q-Reklamation.xlsm"
     
        ActiveWorkbook.SaveAs Filename:=strFilename, _
            FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

        Set OutApp = Outlook.Application                ' Outlook-Bibliothek der Variable OutApp zuweisen
        Set Nachricht = OutApp.CreateItem(olMailItem)   ' Outlook Mail aus der Outlook-Bibliothek der Variable Nachricht zuweisen
       
        With Nachricht
            .To = Range("$J$21")
            .CC = Range("$J$24")
            .Subject = "Betreff"
            .Body = Range("J25")
            .Attachments.Add strFilename
            .Display
        End With
       
        Set Nachricht = Nothing
        Set OutApp = Nothing
    End Sub


    Mittwoch, 21. September 2016 11:18

Alle Antworten

  • Ist es möglich über ein Makro die Bibliothek-Verknüpfung "Microsoft Outlook 15.0 Object Library" aufzulösen und eine neue Verknüpfung zur Bibliothek "Microsoft Outlook 14.0 Object Library" zu erstellen?

    Nein, Du musst Deinen Code von Early Bindung auf Late Bindung umschreiben. D.h. schmeiß den Verweis ganz raus.

    Die Outlook-Variablen deklarierst Du als Object:
      Dim OutApp As Object 'Outlook.Application   ' Variable OutApp erstellen
      Dim Nachricht As Object 'Outlook.MailItem   ' Variable Nachricht erstellen

    Dann nimmst Du statt
      Set OutApp = Outlook.Application 
    dies
      Set OutApp = CreateObject("Outlook.Application")

    Und die verwendeten Outlook-Konstanten deklarierst Du Public in einem regulärem Modul:
      Public Const olMailItem = 0

    Andreas.

    Mittwoch, 21. September 2016 19:41
  • Hallo Andreas

    Danke für die schnelle Hilfe.

    Habe die Änderungen gemacht. Hatte am Anfang noch Probleme mit dem Zeile (.To = Range("$J$21")") nach dem ich aber die Zeile angepasst habe (.To = Range("$J$21").Value) hat auf meinem PC mit Windows 10 und Office 2013 alles Funktioniert.

    Auf den Windows XP PCs mit Office 2010 funktioniert es aber noch nicht (gemäss telefongespräch mit Geschäftsführer). Wie es aussieht werde ich mal in die Verkaufsstelle fahren und mir da das Makro zu Gemüte führen.

    Nachtrag: Auf dem Windows XP mit Office 2010 funktioniert es jetzt auch. Man darf nicht vergessen das für die Early Bindung benötigte Häcklein unter Extras -> Verweise... bei "Microsoft Outlook 15.0 Object Library" herauszunehmen. Ansonsten wir es in der Liste der Verweise als "Nicht vorhanden" geführt und die Bibliothek "Microsoft Outlook 14.0 Object Library" läst sich dan nicht Inizialisieren.

    Nochmals Danke für Deine Hilfe.

    Wünsche einen schönen Tag.

    Freundliche Grüsse

    Rémy 


    Donnerstag, 22. September 2016 09:20