2. 4. 2. 3 Outlook
appCmd
GetNamespace "MAPI"
|
|
Erzeugt eine Referenz auf den Namensraum des Postfachs (MAPI
- Messaging Application Programming Interface). Der
Rückgabewert des Befehls ist das Objektkommando nsCmd, das nachfolgend
benötigt wird. |
|
nsCmd
GetDefaultFolder integer
|
|
Erzeugt eine Referenz auf die
verschiedenen Outlook-Objektordner. Der
Rückgabewert des Befehls ist das Objektkommando folderCmd, das nachfolgend
benötigt wird. Die wichtigsten Ordner sind:
3 -
|
Gelöschte Objekte
|
4 -
|
Postausgang
|
5 -
|
Gesendete Objekte
|
6 -
|
Posteingang
|
9 -
|
Kalender (alle Termine)
|
10 -
|
Kontakte
|
14 -
|
Kalender (noch offene
Termine inkl. Terminserien)
|
|
|
folderCmd Items
|
|
Erzeugt eine Referenz auf die Elementliste des durch folderCmd referenzierten
Outlook-Objektordners. Der
Rückgabewert des Befehls ist das Objektkommando listCmd, das nachfolgend
benötigt wird. |
|
listCmd
Count
|
|
Abfrage der Anzahl der Elemente
der Liste listCmd.
|
| |
listCmd
Item integer
|
|
Erzeugt eine Referenz auf das Element integer der Liste listCmd. Der
Rückgabewert des Befehls ist das Objektkommando itemCmd, das nachfolgend
benötigt wird. |
| |
itemCmd -get option
|
|
Abfrage von
Eigenschaften des durch itemCmd
referenzierten Elements. Zulässige Optionen sind abhängig vom
Typ des Elements, also vom Outlook-Objektordner. Beispiele:
Posteingang(6) -
|
ReceivedTime, Subject,
Body, SenderEmailAddress, Attachments, ...
|
Kontakte(10) -
|
FullName, NickName,
Birthday, Gender, Email1Address, Email2Address, Email3Address, ...
|
Kalender(9,14) -
|
Subject, Start, End,
Duration, IsRecurring, IsConflict, ...
|
Eine Übersicht gibt es hier.
Achtung: Die Zeitangabe erfolgt in Tagen ab 01.01.1900. Zur
Verarbeitung im Tcl müssen also die Jahre 1900-1969 abgezogen
werden (inkl. Schalttage!) und die verbleibende Zahl mit 86400
multipliziert werden (Anzahl der Sekunden pro Tag).
|
| |
itemCmd -set option
|
|
Setzen von Eigenschaften des durch itemCmd referenzierten Elements.
Zulässige Optionen sind abhängig vom Typ des Elements, also
vom Outlook-Objektordner. Beispiele: siehe itemCmd -get option. |
BEISPIEL
package require tcom
set beenden 0
if {[catch {set outlook [::tcom::ref getactiveobject
Outlook.Application]}]} {
set beenden 1
set outlook [::tcom::ref createobject Outlook.Application]
}
set ns [$outlook GetNamespace "MAPI"]
puts "xxxxxxxxxxxxxxxxxxxxx"
puts "Posteingang:"
puts "xxxxxxxxxxxxxxxxxxxxx"
set folder [$ns GetDefaultFolder [expr 6]]
set items [$folder Items]
for {set i 1} {$i <= [$items -get Count]} {incr i} {
set item [$items Item $i]
set receivedTime [expr int(([$item -get ReceivedTime] - (70*365
+ 19)) *3600*24)]
set receivedTime [clock format $receivedTime -format "%d.%m.%y
%H:%M:%S" -gmt 1]
puts "$receivedTime \t [$item -get Subject]"
update
}
puts "xxxxxxxxxxxxxxxxxxxxx"
puts "Kalender:"
puts "xxxxxxxxxxxxxxxxxxxxx"
set folder [$ns GetDefaultFolder [expr 14]]
set items [$folder Items]
for {set i 1} {$i <= [$items -get Count]} {incr i} {
set item [$items Item $i]
set start [expr int(([$item -get Start] - (70*365 + 19))
*3600*24)]
set start [clock format $start -format "%d.%m.%y %H:%M:%S" -gmt
1]
set end [expr int(([$item -get End] - (70*365 + 19)) *3600*24)]
set end [clock format $end -format "%d.%m.%y %H:%M:%S" -gmt 1]
puts "$start - $end \t [$item -get Subject]"
update
}
if {$beenden} {
$outlook Quit
}
|
|