Connessione al database con Visual Basic NET? Lo trovi su Opentraining.it Visual Basic Italia
Guide e Tutorials:indexed
MAPI (Sesta parte)

Concludiamo questa serie di articoli sugli oggetti MAPI con la gestione degli allegati ossia come inserire file di qualsiasi genere a messaggi in uscita e come ricevere e archiviare allegati dai messaggi nella casella posta in arrivo.
Per quanto riguarda questo secondo punto è innanzitutto necessario indicare l'indice del messaggio del quale si desidera ottenere l'allegato.
Ad esempio per ottenere il nome di tutti gli allegati di tutti i messaggi arrivati bisogna indicare la proprietà AttachmentCount che conta il totale di allegati per messaggio e la proprietà AttachmentName che ottiene invece il nome dell'allegato. Estendendo questo processo a tutti i messaggi della posta in arrivo:

For i = 0 To MAPIMessages1.MsgCount - 1
MAPIMessages1.MsgIndex = i
For ii = 0 To MAPIMessages1.AttachmentCount - 1
List1.AddItem MAPIMessages1.AttachmentName
Next ii
Next i

E' inoltre possibile determinare un singolo allegato attraverso la proprietà AttachmentIndex. Naturalmente tale proprietà dev'essere compresa in un intervallo con valore minimo 0 e valore massimo AttachmentCount - 1. Ad esempio se volessimo visualizzare in un controllo ListBox il nome del secondo allegato del quindicesimo messaggio di posta in arrivo:

MAPIMessages1.MsgIndex = 15
MAPIMessages1.AttachmentIndex = 2
List1.AddItem MAPIMessages1.AttachmentName

Si può inoltre utilizzare la proprietà AttachmentPathName per determinare la provenienza dell'allegato ossia il percorso sul disco fisso dal quale è stato prelevato il file. Naturalmente tale proprietà è disponibile solamente nel processo di inserimento di allegati nelle lettere da comporre. Attraverso la proprietà AttachmentPathName quindi è materialmente possibile inserire un allegato. Nell'esempio di composizione di lettera fatto nell'articolo precedente possiamo inserire un allegato preso dal percorso "C:\Documenti\allegato.txt":

Private Sub Form_Load()
MAPISession1.DownLoadMail = False
MAPISession1.SignOn
With MAPIMessages1
.SessionID = MAPISession1.SessionID
.Compose
.RecipAddress = "destinatario@email.it"
.RecipDisplayName = "Nome_Destinatario"
.MsgSubject = "Oggetto della lettera da inviare"
.MsgNoteText = "Testo della lettera da inviare." & vbCrLf & _
"Per le regole di composizione del testo riferirsi" & vbCrLf & _
"alle normali regole di inserimento di un testo in una " & vbCrLf & _
"casella di testo."
.AttachmentPathName = "C:\Documenti\allegato.txt"
.AttachmentName = "allegato"
.Send
End With
MAPISession1.SignOff
End Sub

E' inoltre possibile indicare il nome dell'allegato come abbiamo fatto nell'esempio, nel caso in cui si desideri indicare un nome differente da quello originale del file.
Nel caso non sia specificato alcun nome, l'allegato sarà denominato con il nome originale del file.
Infine l'ultimo elemento da considerare è la posizione dell'allegato nel corpo del messaggio. Questa posizione si può determinare attraverso la proprietà AttachmentPosition. Con il valore predefinito 0 l'allegato viene posizionato all'inizio del messaggio mentre per posizionarlo alla fine, è necessario contare il numero di caratteri del corpo del messaggio. Se ad esempio il messaggio è composto da cinque caratteri, è necessario impostare il valore su 4 in modo da indicare che il corpo del messaggio occupa le posizioni di carattere da 0 a 4.

Archivio:ndexed
Lezioni Commenta questa lezione Invia la tua guida Avviso per le nuove lezioni
Proponi un argomento

Visual Basic Italia© copyright 2000 - tutti i diritti riservati
E-mail:
vbitalia@libero.it