Autor Thema: Delete Attachment  (Gelesen 1546 mal)

Offline chris2212

  • Aktives Mitglied
  • ***
  • Beiträge: 162
  • Geschlecht: Männlich
Delete Attachment
« am: 26.02.07 - 12:17:37 »
Hallo,

dieses kleine Script soll in allen selektierten eMails das Attachment löschen.

Dim session As New NotesSession
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim msgvalue As Variant

msgvalue = Msgbox("You are about to delete all attachments from the selected eMails"_
& Chr(10) & "Continue deleting attachments?",4+32,"Delete attachments")
If msgvalue = 6 Then

Set col = session.CurrentDatabase.UnprocessedDocuments
Set doc = col.GetFirstDocument
      
While Not (doc Is Nothing)
Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
If Not (Isempty (rtitem.EmbeddedObjects)) Then
Forall x In rtitem.EmbeddedObjects
If ( x.Type = EMBED_ATTACHMENT ) Then
Call x.Remove
Call doc.Save(True,False,False)
End If
End Forall
End If
End If
Set doc = col.GetNextDocument(doc)
Wend
End If

Das funktioniert auch problemlos wenn ich den Agent mit der Option Action menu selection
direkt aus dem Action Menu ausführe.

Starte ich den Agent aber über einen Dialog, der hiermit aufgerufen wird, werden die Attachments
nicht gelöscht :-(

Dim Workspace As New NotesUIWorkspace
Dim DB As NotesDatabase
Dim Doc As NotesDocument
Set DB = Workspace.CurrentDatabase.Database
Set Doc = New NotesDocument(DB)
Button = Workspace.DialogBox("(TestDialogAttachments)", True,True,True, False,False, False, "Test - Attachment Actions",doc,True,True)


Aufgerufen wird der Agent im Dialog mittels einer Schaltfläche welche diese
Formel ausführt.
@Command([FileCloseWindow]);
@Command([ToolsRunMacro];"DeleteOnly")

Ich habe im Agent an der Stelle Call x.Remove mal eine MsgBox plaziert und wollte mir
"nur" mal zum testen einen Text ausgeben lassen, aber leider kommt die MsgBox nicht :-(

Ich gehe mal davon aus, dass dem Agent nachdem ich ihn über den Dialog gestartet habe
die Collection fehlt, wie kann ich ihm diese richtig "übergeben"?


Für jeden Tipp dankbar!


Gruß
Chris
« Letzte Änderung: 26.02.07 - 12:19:08 von chris2212 »

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Delete Attachment
« Antwort #1 am: 26.02.07 - 12:53:27 »
Und wenn Du den ersten Code direkt in der Schaltfläche hnterlegst?
Den zweiten Teil versteh ich im Moment nicht so wirklich.
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline chris2212

  • Aktives Mitglied
  • ***
  • Beiträge: 162
  • Geschlecht: Männlich
Re: Delete Attachment
« Antwort #2 am: 26.02.07 - 13:14:12 »
Hallo André,


das habe ich noch nicht getestet.

Der "zweite Teil" ist eine Action-Schaltfläche die vorerst in der Inbox und in der Ansicht
All Documents angezeigt wird.
Der Dialog hat drei Schaltflächen

Extract only
Extract and Delete
Delete only

Die Extract und Extract and Delete Agents werden "sauber ausgeführt", Probleme habe ich
nur mit dem Delete only.

Ich werde den Delete only Code mal direkt in der Schaltfläche des Buttons hinterlegen, mal schaun
ob es dann geht.

Danke & Gruß
Chris

Offline chris2212

  • Aktives Mitglied
  • ***
  • Beiträge: 162
  • Geschlecht: Männlich
Re: Delete Attachment
« Antwort #3 am: 26.02.07 - 13:36:47 »
Hallo André,

wenn ich den Code direkt in der Schaltfläche im Dialog hinterlege, tut es leider auch nicht :-(

Es kommt nicht mal die MessageBox....

Es hängt also mit der Collection zusammen die er an dieser Stelle nicht erstellen kann.
Wie kann ich von einem Dialog aus auf die in einer Ansicht selektierten Dokumente zugreifen?


Gruß
Christian

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz