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

VBA - Nachdem verschicken der E-Mail das Objekt ausdrucken

Frage Entwicklung VB for Applications

Mitglied: Dani

Dani (Level 5) - Jetzt verbinden

04.09.2009, aktualisiert 14:12 Uhr, 7111 Aufrufe, 1 Kommentar

Hallo zusammen,
wir haben bei uns im Einsatz Outlook 2003. Nun ist es so, dass wir einige Arbeitsplätze haben, die relevante & wichtige E-Mail empfangen/verschicken.

Im Moment ist es so, dass wenn die Mitarbeiterin eine E-Mail verschickt hat, in den Ordner "Gesendete Objekte" geht und dort das neuste Element öffnet und ausdruckt. Das sind pro Arbeitsschritt 5 Klicks und einige Sekunden was verloren geht. Rechnet man das auf 1 Jahr und für insgesamt 35 Mitarbeiter kommt eine kl. Summe raus. Jedoch für die Leistung ist das viel.

Nun schwebt mir ein VBA-Script vor, dass nach jedem Senden kurz nachfragt, ob das Element in den "Gesendeten Objekten" ausgedruckt werden soll. Die Abfrage per MessageBox ist eigentlich kein Problem:
01.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) 
02.
 
03.
    intAntwort = MsgBox("E-Mail Ausdrucken?", vbOKCancel) 
04.
     
05.
    Select Case intAntwort 
06.
        Case vbOK 
07.
            Item.PrintOut 
08.
        Case vbChancel 
09.
            'nix 
10.
    End Select 
11.
 
12.
End Sub
Jedoch die Abfrage des neusten Objekts in "Gesendete Objekte" bringt mich an meine Grenzen von VBA. Die Initialisierung der Objekte sieht so aus:
01.
Dim Mails As Outlook.Items 
02.
    Dim Mail As Object 
03.
     
04.
     
05.
    'Outlook als Object erstellen 
06.
    Set myOlApp = CreateObject("Outlook.Application") 
07.
    Set myNameSpace = myOlApp.GetNamespace("MAPI") 
08.
     
09.
    Set FolderUserDir = FolderUserInbox.Parent.Folders("Gesendete Objekte") 
10.
....
Wie kann ich jetzt die Abfrage steuern, dass er mir die neuste E-Mail in eine Variable speichert und danach ausdruckt?


Viele Grüße,
Dani
Mitglied: Dani
06.09.2009 um 10:46 Uhr
Moin,
hier nun die Lösung:
01.
Option Explicit 
02.
 
03.
'Deklarationen 
04.
'zuerst für Outlook selbst und den Namespace... ohne die beiden geht nichts. 
05.
Dim MyOLApp As Application 
06.
Dim myNameSpace As NameSpace 
07.
 
08.
Public Sub PrintLastMail_GeOrd() 
09.
    'Deklarationen 
10.
    Dim FolderUserDir As MAPIFolder 
11.
    Dim FolderInbox As MAPIFolder 
12.
    Dim Mails As Outlook.Items 
13.
    Dim Mail As Object 
14.
     
15.
     
16.
    'Outlook als Object erstellen 
17.
    Set MyOLApp = CreateObject("Outlook.Application") 
18.
    Set myNameSpace = MyOLApp.GetNamespace("MAPI") 
19.
     
20.
    'Hier wird definiert, auf welches Outlookpostfach das Script zugreifen soll. 
21.
    'Da es vorkommt, dass ein User mal mehere Postfächer im Outlookprofil haben kann 
22.
    Set FolderInbox = myNameSpace.GetDefaultFolder(olFolderInbox) 
23.
    Set FolderUserDir = FolderInbox.Parent.Folders("Gesendete Objekte") 
24.
    
25.
    'Liest die E-Mails in ein Array 
26.
    Set Mails = FolderUserDir.Items 
27.
     
28.
    'die "neuste" bzw. "letzte" E-Mail wird ausgelesen. 
29.
    'Achtung: Ist abhängig von der Sortiermethode!! 
30.
    Set Mail = Mails.GetLast 
31.
     
32.
    'E-Mail wird ausgedruckt 
33.
    Mail.PrintOut 
34.
     
35.
End Sub
zum krönenen Abschluss könnt ihr das Marko in die Symbolleiste einfügen.
Bitte warten ..
Ähnliche Inhalte
SAN, NAS, DAS
Mit NAS E-Mails automatisch ausdrucken (5)

Frage von miichiii9 zum Thema SAN, NAS, DAS ...

Batch & Shell
Geburtstagsmails verschicken (6)

Frage von MiMa89 zum Thema Batch & Shell ...

VB for Applications
Aus VBA E-Mail und HTML Dokument erstellen lassen (3)

Frage von Pago159 zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...

E-Business
Wo tragt ihr eure privaten Termine ein? (13)

Frage von honeybee zum Thema E-Business ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...

Batch & Shell
Batch zum suchen und verschieben von Verknüpfungen (12)

Frage von zeroblue2005 zum Thema Batch & Shell ...