chef1568
Goto Top

Excel VBA Emailzugriff Berechtigunganfrage von Outlook

Hallo,

ich habe ein kleines VBA-Script geschrieben, dass mir den HTML-Inhalt einer Email ausliest und in ein Array schreibt.
Leider bekomme ich bei jedem Zugriff auf den Emailinhalt eine Anfrage von Outlook wo ich manuell die Zugriffsberechtigung erteilen muss - wie kann ich das umgehen?

Option Explicit
Global OLF As Outlook.MAPIFolder
Global arrEmail(), z As Long                        'Array Emails: [Variable](ID, Betreff, Zeitstempel)  
Global EmailSelect As Integer                       'ausgewählte Email  

Sub email_auslesen()
'###################################################################  
'Mit diesem Programm wird der Inhalt einer Email in Excel importiert  
'###################################################################  

Dim OLF As Outlook.MAPIFolder
Dim CountInbox As Integer                           'Anzahl der Elemente Posteingang  
Dim i As Integer                                    'Zähler Schleife Posteingeng auslesen  
Dim Suchtxt As String                               'Identifier der Email  
Dim IDEmailSelect As Integer                        'ID der ausgewählten Email  
Dim arrImport(), y As Long                          'Importarray der Excelliste aus der Email  


'Defaultwerte  
i = 0: z = 0
Suchtxt = "Status Fahrzeuge, offene Punkte"  

'Globale Fehlerbehandlung  
On Error Resume Next


'Setzen der Variable als Outlook Application; Zugriff auf Outlook  
Set OLF = GetObject("", "Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)  


'Anzahl Emails im POSTEINGANG  
CountInbox = OLF.Items.Count


'Emailarray befüllen  
    For i = 1 To CountInbox
        With OLF.Items(i)
            If InStr(1, .Subject, Suchtxt) > 0 Then  'Rückgabewert 0 = false  
                ReDim Preserve arrEmail(0 To CountInbox, 0 To 2)
                arrEmail(z, 0) = i                  'ID  
                arrEmail(z, 1) = .Subject           'Betreff  
                arrEmail(z, 2) = .ReceivedTime      'Empfangen am Datum  
                z = z + 1
            End If
        End With
    Next


'Öffne Popup mit Emailauswahl  
Emailauswahl.Show
'Antwort Email-ID  
IDEmailSelect = arrEmail(EmailSelect, 0)


'Email selekiert  
    With OLF.Items(IDEmailSelect)
    
        '#####################        
        y = 5
        ReDim Preserve arrImport(0 To y, 0 To 2)
        arrImport(1, 2) = .HTMLBody                 'HTML  

        '#####################  
        
    End With

'Durchlauf abgeschlossen  
Set OLF = Nothing
Application.StatusBar = False           'Statuszeile ausschalten  
Erase arrEmail()
End Sub

gruß feder

Content-ID: 248583

Url: https://administrator.de/contentid/248583

Ausgedruckt am: 05.11.2024 um 10:11 Uhr

colinardo
colinardo 08.09.2014 um 11:09:09 Uhr
Goto Top
Hallo feder,
Lösung findest du hier:
Massen E-Mail-Versand aus VBA Excel - Outlook Sicherheitsmeldung

Grüße Uwe
chef1568
chef1568 08.09.2014 aktualisiert um 11:29:13 Uhr
Goto Top
Hallo Uwe,


Zitat von @colinardo:

Hallo gluehbirne, Willkommen im Forum!
Ab Outlook 2007 kannst du die Warnung im Outlook-Sicherheitscenter deaktivieren:
Alternativ sende die Mails via CDO-ComObject ganz ohne Outlook aus Excel heraus.

Grüße Uwe

Zitat von @gluehbirne:

Ich kann in unserem Outlook die Sicherheitseinstellungen nicht ändern - offensichtlich per Policy bzw. Admin hat gesperrt.


Das selbe Problem habe ich auch.
colinardo
colinardo 08.09.2014 aktualisiert um 11:26:06 Uhr
Goto Top
Zitat von @chef1568:
Ich kann in unserem Outlook die Sicherheitseinstellungen nicht ändern - offensichtlich per Policy bzw. Admin hat gesperrt. Das selbe Problem habe ich auch.
Dazu musst du Outlook als Admin starten (Rechtsklick als Administrator starten) dann kannst du die Einstellung im Dialog ändern. Wenn du keine Admin-Rechte besitzt kontaktiere euren Administrator!
chef1568
chef1568 08.09.2014 um 11:28:55 Uhr
Goto Top
Nein, das geht leider auch nicht.
Eine Andere Lösung gibt es hier nicht? z.B. per VBA gewisse Rechte zuweisen etc? (Der User hat Adminrechte)

mfg
colinardo
colinardo 08.09.2014 aktualisiert um 11:32:39 Uhr
Goto Top
Zitat von @chef1568:
Nein, das geht leider auch nicht.
Eine Andere Lösung gibt es hier nicht? z.B. per VBA gewisse Rechte zuweisen etc? (Der User hat Adminrechte)
Wenn bei euch diese Einstellung via Domain-Policy definiert ist, dann nein. Dann bleibt nur stattdessen Redemption zu nutzen.

Grüße Uwe
mupan7
mupan7 08.09.2014 um 11:46:00 Uhr
Goto Top
Hängt hinter dem Outlook ein Exchange? Ich hab mit Exchange auch schon erfolgreich von VBA (Access) aus gesprochen, hatte dann mit Outlook und dessen Sicherheitsplacebos nichts mehr zu tun.
chef1568
chef1568 08.09.2014 um 11:56:23 Uhr
Goto Top
Zitat von @mupan7:

Hängt hinter dem Outlook ein Exchange? Ich hab mit Exchange auch schon erfolgreich von VBA (Access) aus gesprochen, hatte
dann mit Outlook und dessen Sicherheitsplacebos nichts mehr zu tun.

Ja, tut es face-smile
Wie hast du das gleöst bekommen?

gruß feder
SachsenHessi
SachsenHessi 08.09.2014 aktualisiert um 12:14:20 Uhr
Goto Top
Hallo,
der Zugriff von außen (ich nehme an mit Excel-VBA) auf Outlook ist nicht ganz trivial (zumal glaube ich CDO zukünftig nicht mehr unterstützt werden soll).
Nutze am besten
http://www.mapilab.com/outlook/security/
Das Teil löst einige Probleme im Bereich Zugriff auf Outlook face-wink

Aber: wenn Du es als Outlook-AddIn mit VSTO machst, hast Du diese Problem nicht. (Also anderen Weg, von Outlook aus in Exceldatei schreiben)
Gruss
Frank