AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
22.05.12 - 11:24:13
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Domino 5 und frühere Versionen
| |-+  Entwicklung (Moderatoren: Axel, Don Pasquale, eknori, Hoshee, ata, Thomas Schulte, koehlerbv)
| | |-+  Anhänge löschen wenn vorhanden
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Anhänge löschen wenn vorhanden  (Gelesen 1284 mal)
MrMagoo
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 359


AAAhhh


« am: 21.08.03 - 08:34:48 »

Hallo habe da doch nochmal ein Frage.
dieser Agent nimmt sich die markierten Mails und löscht die Anhänge heraus. Wie kann ich Abfragen ob überhaupt ein Anhang vorhanden ist??

Sub Initialize
   Dim ws As New NotesUIWorkspace
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim rtitem As Variant
   Dim object As NotesEmbeddedObject
   
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   Set doc = collection.GetFirstDocument
   
   While Not (doc Is Nothing)
      Set rtitem = doc.GetFirstItem( "Body" )
      If ( rtitem.Type = RICHTEXT ) Then      
         Forall o In rtitem.EmbeddedObjects
            Call o.Remove
            Call doc.Save( False, True )
         End Forall   
      End If
      Set doc = collection.GetNextDocument(doc)
   Wend
End Sub
« Letzte Änderung: 21.08.03 - 08:35:34 von MrMagoo » Gespeichert
MrMagoo
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 359


AAAhhh


« Antworten #1 am: 21.08.03 - 09:03:47 »

Tja manchmal habe ich dann doch nen Geistesblitz
so gehts

Sub Initialize
   Dim ws As New NotesUIWorkspace
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim rtitem As Variant
   Dim object As NotesEmbeddedObject
   
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   
   If collection.Count = 0 Then  
      Msgbox "Kein Dokument ausgewählt"   
   Else
      
      Set doc = collection.GetFirstDocument
      While Not (doc Is Nothing)
         Set rtitem = doc.GetFirstItem( "Body" )
         If ( rtitem.Type = RICHTEXT ) Then   
            If Isarray( rtitem.embeddedObjects) Then
               Forall o In rtitem.EmbeddedObjects
                  Call o.Remove
                  Call doc.Save( False, True )
               End Forall   
            Else
               Msgbox "is nicht"
            End If
         End If
         Set doc = collection.GetNextDocument(doc)
      Wend
      Msgbox "Anhang / Anhänge gelöscht"
   End If
End Sub
Gespeichert
Thomas Schulte
@Notes Preisträger
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 4173


Ich glaub mich tritt ein Pferd


WWW
« Antworten #2 am: 21.08.03 - 10:55:13 »

Gut außenrum Programmiert aber wie wäre es denn mit
flag = notesDocument.HasEmbedded ?

Thomas
Gespeichert

Thomas Schulte

Lotus Domino V7.0.2/V6.5.3 Server + Clients, Server OS Linux, Win2000/2003, Clients 2000/XP Linux
PCLP R4, R5
Websphere Application Server, Quickplace, Sametime

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach
BradCirclepit
Junior Mitglied
**
Offline Offline

Geschlecht: Männlich
Beiträge: 53



« Antworten #3 am: 19.01.09 - 16:11:36 »

Das funktioniert soweit echt gut! Wenn man jetzt allerdings Termine in der Schablone hat wird die Fehlermeldung ``object variable is not set`` ausgegeben. Wie könnte man diese Fehlermeldung umgehen, oder von Grund auf ausschließen?
Gespeichert

Grüße Michael
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Online Online

Geschlecht: Männlich
Beiträge: 19044



« Antworten #4 am: 19.01.09 - 16:20:03 »

Termine? In der Schablone? Was willst Du uns damit sagen? Und wie sieht Dein Code aus und wo kommt die Fehlermeldung?

Bernhard
Gespeichert
BradCirclepit
Junior Mitglied
**
Offline Offline

Geschlecht: Männlich
Beiträge: 53



« Antworten #5 am: 19.01.09 - 16:29:28 »

Termine? In der Schablone? Was willst Du uns damit sagen? Und wie sieht Dein Code aus und wo kommt die Fehlermeldung?

Bernhard

Wenn mich jemand über die Kalender-Funktion einlädt und ich die Informationsmail bezüglich der Einladung in mein E-Mail Postfach bekomme, dann steht diese Mail ja mit dem Briefumschlag-Icon in der normalen Mail-Schablone.

Wenn ich jetzt mit folgendem Code:

Sub Initialize
   Dim ws As New NotesUIWorkspace
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim rtitem As Variant
   Dim object As NotesEmbeddedObject
   
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   
   If collection.Count = 0 Then 
      Msgbox "Kein Dokument ausgewählt"   
   Else
     
      Set doc = collection.GetFirstDocument
      While Not (doc Is Nothing)
         Set rtitem = doc.GetFirstItem( "Body" )
         If ( rtitem.Type = RICHTEXT ) Then   
            If Isarray( rtitem.embeddedObjects) Then
               Forall o In rtitem.EmbeddedObjects
                  Call o.Remove
                  Call doc.Save( False, True )
               End Forall   
            Else
               Msgbox "is nicht"
            End If
         End If
         Set doc = collection.GetNextDocument(doc)
      Wend
      Msgbox "Anhang / Anhänge gelöscht"
   End If
End Sub

wie ihn MrMagoo geschrieben hat alle Mails markiere und das Script ausführe, dann werden alle Anhänge soweit gelöscht bis er bei diesen Termin-Emails hängen bleibt und diese Fehlermeldung ausgibt. Die Mails die nach der Fehlermeldung noch markiert wären werden dann nicht berücksichtigt und behalten ihren Anhang.
Gespeichert

Grüße Michael
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Online Online

Geschlecht: Männlich
Beiträge: 19044



« Antworten #6 am: 19.01.09 - 17:01:32 »

In der Schablone steht da immer noch nix, sondern in Deiner Datenbank  Wink Und ein ErrorHandling hast Du auch nicht eingebaut und kannst daher nicht die Zeile nennen, in der es knallt. Jetzt habe ich das extra nachbauen müssen - das macht nicht glücklich ...

Bei einer Einladung (Form = "Notice") gibt es kein Body-Item. Du musst also prüfen, ob das Item überhaupt vorhanden ist. Details gibts jetzt zur Strafe von mir auch nicht - das steht alles in der DesignerHelp unter NotesItem  Wink

Bernhard
Gespeichert
BradCirclepit
Junior Mitglied
**
Offline Offline

Geschlecht: Männlich
Beiträge: 53



« Antworten #7 am: 21.01.09 - 10:49:04 »

Habe es jetzt so gelöst, dass ich überprüfe ob überhaupt ein gültiger Wert vorhanden ist. Wenn der Wert ungültig ist soll er gar nichts machen, ist der Wert gültig macht er den Rest wie gehabt.

Vielen Dank für die Informationen.


Sub Initialize
   Dim ws As New NotesUIWorkspace
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim rtitem As Variant
   Dim object As NotesEmbeddedObject
   
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   
   If collection.Count = 0 Then
      Msgbox "Kein Dokument ausgewählt"   
   Else
      
      Set doc = collection.GetFirstDocument
      While Not (doc Is Nothing)
         Set rtitem = doc.GetFirstItem( "Body" )
         If (rtitem Is Nothing) Then         
         Else
            If ( rtitem.Type = RICHTEXT ) Then   
               If Isarray( rtitem.embeddedObjects) Then
                  Forall o In rtitem.EmbeddedObjects
                     Call o.Remove
                     Call doc.Save( False, True )
                  End Forall   
               End If
            End If
         End If
         Set doc = collection.GetNextDocument(doc)
      Wend
      Msgbox "Anhang / Anhänge gelöscht"
   End If
End Sub
Gespeichert

Grüße Michael
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: Tinte / Toner günstig