Hallo,
ich versuche mich daran, ein Script zu schreiben, das bei allen ausgewählten Einträgen den Betreff auf den Namen des beinhaltenden Ordners setzt.
Hierzu wird im Kontextmenü der Einträge ein Menüpunkt hinzugefügt.
Im Wesentlichen funktioniert das, der Name des Archivordners wird auch ausgelesen, aber ich bekomme es aber nicht hin den Betreff der Einträge zu ändern.
Der Folgende Code funktioniert bis auf die Änderung des Betreffs:
Code
' Neuer Punkt im Kontextmenu eines Dokuments (Unterste Position im Kontext)
' Diese Funktion setzt den Betreff für einen oder mehrerer markierte Einträge auf den Namen des enthaltenden Archivordners
sub Initialize(oInfoCenter, key)
Set oBar = oInfoCenter.GetCommandBar("Menu/entries")
oBar.Insert "Extras/#end", "TestEintrag", key, "Doc-stat.ico", "OnInvoke", true
end sub
'Berechnet eine Statistik für die markierten Einträge wie Dokumentegröße inclusive Dateianhängen
sub OnInvoke(oInfoCenter, oContext)
dim sArchiveName, oFields
' Name des Archivordners
Set oTree = oInfoCenter.ArchiveTree
Set oArchive = oTree.SelectedArchive
sArchiveName = oArchive.DisplayName
' Ausgewählte Einträge durchgehen
Set oEntryList = oInfoCenter.EntryList
Set oSelection = oEntryList.Selection
for each oItem in oSelection
Set oMsgItem = oItem.GetInterface2
Set oFields = oMsgItem.Fields
oFields(&H8000803B).Value = sArchiveName
' oMsgItem.Subject = ArchiveName
next
oInfoCenter.MsgBox("Fertig!")
end sub
Alles anzeigen
oFields(&H8000803B).Value ist der Betreff des Eintrags, auslesen kann ich ihn.
Nur das Ändern wie hier vorgesehen funktioniert nicht...
Habe ich da noch irgendeinen Denkfehler drin?
Schöne Grüße,
Andreas