Creazione di un messaggio con allegato un file Excel che contiene dati del form

' Il seguente frammento di codice genera un messaggio che contiene un file Excel creato partendo da un template e aggiornandolo con alcuni dati provenienti dal form.
' Può essere facilmente riadattato per ogni esigenza
Dim x As qwexcel
Dim i As Integer
Dim msg as string
Dim nf as string

nf=form.GetSession().GetLocalTempFileName(".XLSX")

CopyFile(form.GetSession().Q95_NOME_DIR_DOCUM+"\rpt\custom\<nome template>.xlsx",nf,false)

x = New qwexcel()
x.Open(nf)
x.SetActiveWorksheet(x.GetWorkbook.Worksheets(0).Name)
x.WriteString(2,2,form.FindControl("TIPO_CONT").value+"/"+form.FindControl("NUMERO").value)
x.WriteString(2,7,Today())
x.WriteString(4,2,form.FindControl("Fornitore1").value)

form.FindControl("Grid1").MoveFirst()
i=1
while not form.FindControl("Grid1").EndOfRows()
   x.WriteString(i+6,1,form.FindControl("Grid1").ReadField("CUSTOM1"))
   x.WriteString(i+6,2,form.FindControl("Grid1").ReadField("CUSTOM3"))

   i+=1
   
   form.FindControl("Grid1").MoveNext()
End while   
form.FindControl("Grid1").MoveFirst()

x.WriteString(25,1,form.FindControl("NOTE").value)

x.Save()
x.Close()

' Crea il messaggio 
Dim qmail as New QWMail(form.GetSession())
qmail.MsgCreate()
qmail.MsgFrom("[email protected]")
qmail.MsgSubject("Richiesta quotazione")
qmail.MsgText("Gent.le Fornitore,

con la presente siamo a richiedere Vs migliore quotazione per i codici contenuti nel file allegato; Vi preghiamo di voler rispondere compilandolo in ogni sua parte e reinviandolo all’indirizzo [email protected].

Ringraziando per la collaborazione, porgiamo distinti saluti.")
qmail.MsgAttachment("Richiesta quotazione.xlsx", nf)
qmail.MsgShow(form)