* GetAttachment() if ( this.oleMAPISession.SessionID = 0 ) return endif with this.oleMAPIMessages this.mcAttachmentName = "" this.mcAttachmentPathName = "" this.mnAttachmentType = 0 if ( this.mnAttachmentIndex < this.mnAttachmentCount - 1 ) .AttachmentIndex = this.mnAttachmentIndex this.mcAttachmentName = .AttachmentName this.mcAttachmentPathName = .AttachmentPathName this.mnAttachmentType = .AttachmentType endif endwith return this.mcAttachmentName * GetNextAttachment() if ( this.oleMAPISession.SessionID = 0 ) return endif local lcRetVal if ( this.mnAttachmentIndex < this.mnAttachmentCount - 2 ) this.mnAttachmentIndex = this.mnAttachmentIndex + 1 lcRetVal = this.GetAttachment() else lcRetVal = "" endif return lcRetValAlthough you only have to make a call to GetAttachment, that action causes all the attachments to be extracted into the sys(2023) folder then you can copy them from there.