Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Outlook 2002 VBA Skript soll nur bei bestimmten emails abgearbeitet werden

Frage Entwicklung VB for Applications

Mitglied: Rabitionismus

Rabitionismus (Level 1) - Jetzt verbinden

18.09.2009, aktualisiert 19.09.2009, 4142 Aufrufe, 4 Kommentare

hallo, nun habe ich es geschafft mein skript im grundgerüst fertig zu stellen.

im moment greift das skript nur die letzte email. wie kriege ich das hin, dass dieses skript bei allen emails angewendet wird, die eine bestimmte emailadresse im Sender haben?(zb: abt@firma.de)
Ich hab mir das wie folgt gedacht: ich definiere eine variable mit meiner email addresse (emailsender) und diese prüft er mit einer for each schleife in jeder email.
Ist das überhaupt möglich?
und wie bekomme ich diese email in eine variable bei mir geht das nicht....

01.
Option Explicit 
02.
Dim MyOLApp As Application 
03.
Dim myNameSpace As NameSpace 
04.
 
05.
Public WithEvents olItem As MailItem 
06.
Private Sub Application_Startup() 
07.
     
08.
Dim olItem As Outlook.MailItem 
09.
Dim olApp As Outlook.Application 
10.
Dim olTask As Outlook.TaskItem 
11.
Dim cntSelection As Integer 
12.
Dim I As Integer 
13.
Dim CurrentFolder As Outlook.MAPIFolder 
14.
Dim emailsender As Variant 
15.
Dim olExp As Outlook.Explorer 
16.
         
17.
        Set emailsender = "abt@firma.de" 
18.
        Set olApp = Outlook.CreateObject("Outlook.Application") 
19.
        Set ActiveExplorer.CurrentFolder = GetNamespace("MAPI").GetDefaultFolder(olFolderSentMail) 
20.
        Set olExp = olApp.ActiveExplorer 
21.
        Set CurrentFolder = olExp.CurrentFolder 
22.
        Set olTask = olApp.CreateItem(olTaskItem) 
23.
                 
24.
                cntSelection = olExp.Selection.Count 
25.
         
26.
        If cntSelection > 0 Then 
27.
         
28.
            For Each emailsender In olItem.SenderName 
29.
             
30.
                For I = 1 To cntSelection 
31.
                    Set olItem = olExp.Selection.Item(I) 
32.
                    olTask.Attachments.Add olItem 
33.
                    olTask.Subject = "Gesendet zu Vorgang Betreff: " & olItem.Subject 
34.
                    olTask.Body = olItem.Body 
35.
                    olItem.Move Application.GetNamespace("MAPI").Folders.Item("Öffentliche Ordner").Folders.Item("Alle Öffentlichen Ordner").Folders.Item("Firma Ordner").Folders.Item("Abt").Folders.Item("Abt MailBackup") 
36.
                Next 
37.
                    olTask.DueDate = DateAdd("h", 162, Now) 
38.
                    olTask.StartDate = DateAdd("h", 0, Now) 
39.
                    olTask.ReminderSet = True 
40.
                    olTask.ReminderTime = DateAdd("h", 24, Now) 
41.
 
42.
                    olTask.Save 
43.
                    olTask.Move Application.GetNamespace("MAPI").Folders.Item("Öffentliche Ordner").Folders.Item("Alle Öffentlichen Ordner").Folders.Item("Firma Ordner").Folders.Item("Abt").Folders.Item("Abt Tasks") 
44.
                    olTask.Display 
45.
            Next 
46.
        Else 
47.
            MsgBox "Keine Nachrichten gestern gesendet" 
48.
         
49.
        End If 
50.
End Sub
@ Biber ich hoffe das sieht jetzt besser aus
Mitglied: Berrnd
18.09.2009 um 17:16 Uhr
Hi,

also mit DeinMailObject.SenderName kann man den Absender einer Mail auslesen...

Gruß
Bernd
Bitte warten ..
Mitglied: Biber
18.09.2009 um 18:38 Uhr
Moin Bernd,

Zitat von Berrnd:
also mit DeinMailObject.SenderName kann man den Absender einer Mail auslesen...

Ja nee, schon klar....
Aber da er sich im Ordner "....GetDefaultFolder(olFolderSentMail)" = "Gesendete Objekte" bewegt, wird er da nicht viel Überraschendes vorfinden.

@Rabitionismus I:
Bedeutet das, deine beiden unvollendeten Parallelbeiträge könnten geschlossen oder in die Tonne gekloppt werden?

<OT>
@Rabitionismus II:
Hast du dir mal überlegt, das -falls du mal auf dem weg zur Schicht auf der A4 verbleibst oder ähnliches- dass dann irgendein Unschuldiger (oder gar eine Unschuldige) diesen Code übernehmen und weiterpflegen muss?

Ein solches KotCodefragment an jemand zu übergeben wird bei uns in Bremen als Mobbing bezeichnet.
</OT>

Grüße
Biber
Bitte warten ..
Mitglied: Rabitionismus
18.09.2009 um 19:07 Uhr
@Biber ja die anderen habe ich als gelöst markiert. Das ist erstmal nur eine Fassung die auf meinem Notebook existiert...das ding sieht so aus wie ich denke....und ich bin KEIN Programmierer. Eigentlich dachte ich, dass das gut Nachvollziehbar ist...Wenn du ne bessere Anordnung hast, ich lerne gerne dazu! Im Ernst, wenn du die Zeit hast und dir nimmst wäre ich dir sehr dankbar...
Im gesendete Objekte werden 2 Absender sein. Daher ist das sehr interessant wer drin steht

P.S.: Das ist kein Fragment....wenn dann ein Kotskript...

Ich habe nichts in IT gelernt und bin auch kein IT'ler, das hier nennt sich learning by doing...
Bitte warten ..
Mitglied: Biber
18.09.2009 um 19:41 Uhr
Moin Rabitionismus,

hast ja Recht, ein bisschen konstruktiver wäre es für Dich bestimmt hilfreicher.

Da ich jetzt aber gleich wegen Ich-mach-erstmal-Feierabend kurz unterbrechen muss, nur als (konstruktiv gemeinte) Tipps.

  • Code-Einrückungen und Kommentare helfen auch Dir bei dem Irgendwann-mal-fertig-kriegen von Codeschnipseln. Andernfalls verlierst Du Dich -nach knapp 25 Zeilen hoffnungslos im eigenen Code.
  • Wie bei allem anderen im Leben herangehen mit "Wo stehe ich jetzt, wo möchte ich gern hin, was benötige ich dafür, was davon habe ich schon und whereTF bekomm ich den Rest her?" Und dabei die Reihenfolge einhalten. Einfach loslaufen klappt nicht.
  • Objekte wie Dein "oeff" (das oOeff heißen müsste bzw. sogar oAbtTasks) instanziert man/frau moglicherweise wirklich als Referenz auf ein Unter-Unter-Unter(und noch drei)-Objekt---> JA. Aber um sie zu benutzen!!!
  • Du findest unten in den Links unter diesem Beitrag eine Anleitung "Outlook - Automatisierte Mailverarbeitung mit VBA-Makros" --> schau mal drüber bitte.

Was in dieser Anleitung schlecht ist--> dort werden kaum Unterfunktionen/Subs aufgerufen.
Sondern fast alles so runtergetippselt, wie es dem Verzapfer so grad in den Sinn kam.
Das geht aber nur bei ganz, ganz kurzen Schnipseln. Oder bei Behörden-Software.
->Versuche bei Dir, eine hierarchische Rahmenstruktur aufzubauen.
-> Rahmenprogramm: kurz, nur mit Variablen, die dort gebraucht werden; funktional wird von da aufgerufen
  • CheckMyInbox ( oder CheckmySentbox)--> Ist denn was zu verarbeiten
  • CopyKramsAsTask( myInputkrams) -> was gefunden wurde verarbeiten
  • Fehler/Successmeldungen
  • Aufräumen (und ggf.Logging)

das dringlichste ist jetzt erstmal der Programmrahmen/die Struktur.
Nicht irgendwelche Spezialfunktionen.

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(2)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (10)

Frage von 1410640014 zum Thema Backup ...