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.