Autor Thema: Zugriff nur auf selektiertes Attachment?  (Gelesen 2161 mal)

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Zugriff nur auf selektiertes Attachment?
« am: 04.03.22 - 14:21:24 »
Hallo,

kann ich ermitteln, welche(s) Attachment(s) der Anwender selektiert hat?
Am liebsten wäre mir, wenn ich meinen Agenten auch in das Kontextmenü beim Rechtsklick auf das Attachment einbauen könnte.

Mit folgendem Code bekomme ich ja alle(?) Attachments aus dem Body (und die wohl mehrfach, da ich bei einer Mail mit 20 Attachments ca. 200 Mal die Messagebox bestätigen durfte.)
Code
	Set db = sess.currentdatabase
	Set coll = db.unprocesseddocuments
	Set doc = coll.getfirstdocument
	While Not doc Is Nothing
		Set rtitem = doc.GetFirstItem( "Body" )
		If Not rtitem Is Nothing Then
			If ( rtitem.Type = RICHTEXT ) Then
				ForAll o In rtitem.EmbeddedObjects
					If ( o.Type = EMBED_ATTACHMENT ) Then
						filename = Evaluate("@AttachmentNames", doc)
						For i = 0 To UBound(filename)
							strname = filename(i)
							MessageBox strname
						Next
					End If
				End ForAll
			End If
		End If
		Set doc = coll.getnextdocument(doc)
	Wend

Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Antw:Zugriff nur auf selektiertes Attachment?
« Antwort #1 am: 04.03.22 - 19:46:03 »
Ja, kann man. mit einem extension manager in c/c++

Dein  code works as designed; deshalb die 200 mal.
« Letzte Änderung: 04.03.22 - 19:50:17 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Antw:Zugriff nur auf selektiertes Attachment?
« Antwort #2 am: 05.03.22 - 08:35:06 »
Ja, kann man. mit einem extension manager in c/c++

D.h. es ist mit Notes-Boardmitteln (Lotusscript / Formula) nicht möglich, festzustellen, welches Attachment der Benutzer selektiert hat?
Und das Kontextmenü ist so dann auch nicht erweiterbar?

Wäre es denn eine mögliche Lösung (mit Lotusscript), dass der Anwender nochmal eine Liste aller Attachments gezeigt bekommt und er dann nochmal auswählen kann, welches Attachment er haben möchte?


Dein  code works as designed; deshalb die 200 mal.

Ich verstehe aber leider nicht warum. Meinem Verständnis nach: doc sollte nur 1 einziges Dokument beinhalten (die von mir geöffnete Mail), es wird nur 1 Mal das Feld "Body" geholt und dann alle darin enthaltenen Attachments.


Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline Richard Eder

  • Frischling
  • *
  • Beiträge: 14
  • Geschlecht: Männlich
Antw:Zugriff nur auf selektiertes Attachment?
« Antwort #3 am: 05.03.22 - 09:38:57 »
Dein  code works as designed; deshalb die 200 mal.
Kommt halt darauf an, was der Agent als db.unprocesseddocuments betrachtet (Einstellung als Agent-Ziel).
Set doc = sess.documentcontext ist dann ggf. zielführender...
Welche Farbe hat ein Schlumpf bei Gelbsucht - grün?
Die Wahrscheinlichkeit mit der ein Frühstücksbrot auf die Marmeladenseite fällt, verhält sich direkt proportional zum Wert der Tischdecke (murphy's law)
Joss Stone about success: Once, if you figured out what you really want (that makes you happy). It doesn't have to be very big and famous or very, very rich or successful in any other kind of business. As long as you are smiling - 95 percent of the time - then you are successful. :-)

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Antw:Zugriff nur auf selektiertes Attachment?
« Antwort #4 am: 05.03.22 - 09:50:24 »
Kommt halt darauf an, was der Agent als db.unprocesseddocuments betrachtet (Einstellung als Agent-Ziel).
Set doc = sess.documentcontext ist dann ggf. zielführender...

Als Ziel ist eingestellt: "Alle ausgewählten Dokumente". Wenn ich in einem geöffneten Dokument stehe, sollte es damit meinem Verständnis nach eigentlich nur ein einiges Dokument sein können.

Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline Richard Eder

  • Frischling
  • *
  • Beiträge: 14
  • Geschlecht: Männlich
Antw:Zugriff nur auf selektiertes Attachment?
« Antwort #5 am: 05.03.22 - 14:25:21 »
Ok, das stimmt. Dann besser einfach mal debuggen und auf die Count Property der Collection achten, ob die Collection nicht doch mehrere Dokumente enthält (wg. einer vorangehenden Suche). Man könnte den Agenten auch als Aktionsbutton in der Maske realisieren, was dann eh die wohl bessere Variante wäre, wenn das Dokument schon geöffnet wird.
Welche Farbe hat ein Schlumpf bei Gelbsucht - grün?
Die Wahrscheinlichkeit mit der ein Frühstücksbrot auf die Marmeladenseite fällt, verhält sich direkt proportional zum Wert der Tischdecke (murphy's law)
Joss Stone about success: Once, if you figured out what you really want (that makes you happy). It doesn't have to be very big and famous or very, very rich or successful in any other kind of business. As long as you are smiling - 95 percent of the time - then you are successful. :-)

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Antw:Zugriff nur auf selektiertes Attachment?
« Antwort #6 am: 05.03.22 - 15:29:46 »
Das ist ja nicht auszuhalten. Guckt euch den code doch mal genau an. Ist doch offensichtlich, warum die msgbox so oft erscheint.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Richard Eder

  • Frischling
  • *
  • Beiträge: 14
  • Geschlecht: Männlich
Antw:Zugriff nur auf selektiertes Attachment?
« Antwort #7 am: 05.03.22 - 16:59:07 »
wow, da hab ich wohl drübergelesen. ;-)
Welche Farbe hat ein Schlumpf bei Gelbsucht - grün?
Die Wahrscheinlichkeit mit der ein Frühstücksbrot auf die Marmeladenseite fällt, verhält sich direkt proportional zum Wert der Tischdecke (murphy's law)
Joss Stone about success: Once, if you figured out what you really want (that makes you happy). It doesn't have to be very big and famous or very, very rich or successful in any other kind of business. As long as you are smiling - 95 percent of the time - then you are successful. :-)

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Antw:Zugriff nur auf selektiertes Attachment?
« Antwort #8 am: 07.03.22 - 07:52:54 »
Ich verstehe aber leider nicht warum. Meinem Verständnis nach: doc sollte nur 1 einziges Dokument beinhalten (die von mir geöffnete Mail), es wird nur 1 Mal das Feld "Body" geholt und dann alle darin enthaltenen Attachments.

Genau: Zunächst hast Du eine While- Schleife, die Dir alle gewählten Dokumente durchläuft...
Gut, Du sagst, Du hast nur ein Dokument gewählt...

Dann hast Du eine Forall- Schleife, die alle Attachments im Dokument durchläuft. INNERHALB dieser Schleife hast Du eine weitere For- Schleife, die alle Attachmentnamen erneut durchläuft.

Du kommst also zu Deiner inneren Messagebox bei 1 Dokument mit 10 Attachments insgesamt 1 x 10 x 10 = 100 mal zur Messagebox. --> Works as Designed.

Was Du willst, ist einen

NotesUIWorkspace.Prompt( PROMPT_OKCANCELLIST, ... ) mit fileName als values- Parameter.
Die Variable "fileName" sollte besser "fileNames" heissen, weil sie alle Dateinamen des Dokuments enthält und nicht nur eins.

Dann kannst Du Dir das Attachment, was der Benutzer gewählt hat, mittels doc.GetAttachment holen und dann damit tun, was Du willst.
Wenn Du wirklich immer nur ein Dokument haben willst, dann ersetzt Du Dein "While Not Doc is Nothing" durch "If not doc is Nothing Then", dann wird immer nur das erste Dokument der Collection (normalerweise das älteste) genommen.
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz