vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Suche Visual-Basic Code
Re: Von Outlook autom. Tabelle in Excel, Makro ausfürhen und speichern 
Autor: me36835
Datum: 23.08.06 16:11

Hallo PinkoPalino,

öffne das VBA Fenster in Outlook mit [Alt]+[F11].

Bevor wir irgend etwas programmieren, öffenen wir im Visual Basic Fenster über Extras / Optionen einen Dialog, in dem wir auf der Registerkarte Editor den Punkt "Variablendeklaration erforderlich" auswählen. Ohne diese Auswahl werden Schreibfehler bei der Eingabe von Code nicht als Schreibfehler, sondern als neue Variable gedeuted. Das macht die Suche von Fehlern im Programm extrem schwer. Wenn diese Option eingestellt ist, steht am Kopf eines jeden Moduls "Option Explicit".

Nur im Modul DieseOutlookSitzung gibt es in der Drop Down Liste oben links neben (General) noch das Schlüsselwort Application. Wenn wir dieses Wort ausgewählt haben, können wir Drop Down Liste oben rechts verschiedene Ereignisse sehen und auswählen. Für unseren Zweck wählen wir NewMailEx, da dieses Ereignis im Gegensatz zu NewMail auch die neue Mail selber identifiziert.


' Im Modul DieseOutlookSitzung (ThisOutlookSession)
 
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
        ' Entweder schreibst Du hier deinen Code,
        ' oder Du rufst hier eine Prozedur mit dem Übergabeparameter 
        ' "EntryIDCollection" auf. Ich empfehle zu beispiel folgeden Aufruf 
        ' einer neuen
        ' Prozedur
        CALL MN.neue_post(EntryIDCollection)
End Sub
Wenn jetzt eine neue Mail eintrifft, wird automatisch das Ereignis NewMailEx ausgelöst und eine eindeutige EntryIDCollection bereit gestellt. Dieser Schlüssel ist allerdings nur ein wirrer Text aus Ziffern und Buchstaben. Diesen Schlüssel müssen wir in ein MailItem Object umwandeln.
Um den Schlüssel in ein MailItem zu verwandeln benötigen wir den

Outlook.NameSpace. Für das NameSpace Objekt halte ich eine globale Variable für sinnvoll.

' Neues Modul GL (GLOBAL)
 
Global NS As Outlook.NameSpace
Global Stmp As String ' allgemeine Variable für Texte
 
Sub set_namespace
	Set NS = Outlook.GetNamespace("MAPI")
End sub
Nun der Code zum Auswerten der Mail

' Neues Modum MN (Main)
 
Sub neue_post(sID As String)
Dim mIt As Outlook.MailItem
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Ende Deklaration
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If NS Is Nothing Then GL.set_namespace
Stmp = TypeName(NS.GetItemFromID(sID))
If Stmp = "MailItem" Then
    Set mIt = NS.GetItemFromID(sID)
Else
    MsgBox "Die neue Mail ist vom unerwarteten Typ " & vbLf & Stmp & vbLf & "" & _
      "und kann mit den existierenden Makro nicht verarbeitet werden.", _
      vbCritical, "Abbruch"
    Exit Sub
End If
...
Jetzt würde ich prüfen, ob es sich um den richtigen Absender handelt z.B.:

If mIt.SenderName <> "absender@absender.de" Then Exit Sub
Das Object mIt hat diverse Argumente, die Du weiter verarbeiten kannst. Deine Daten findest Du in mIt.Body und je nach Typ auch in MIt.HTMLbody.


-- ich speichere hier erst mal - Fortsezung folgt --
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Von Outlook autom. Tabelle in Excel, Makro ausfürhen und spe...1.425PinkoPalino19.08.06 09:02
Re: Von Outlook autom. Tabelle in Excel, Makro ausfürhen und...1.119me3683523.08.06 16:11
Re: Von Outlook autom. Tabelle in Excel, Makro ausfürhen und...1.054me3683523.08.06 16:15
Re: Von Outlook autom. Tabelle in Excel, Makro ausfürhen und...1.034me3683523.08.06 16:23
Re: Von Outlook autom. Tabelle in Excel, Makro ausfürhen und...927me3683523.08.06 16:24
Von Outlook autom. Excel Makro ausfürhen1.013me3683523.08.06 16:40
Re: Zu Allem948PinkoPalino28.08.06 09:04

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel