<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Outlook</title><link>http://blog.shareoffice.it/giannigiaccaglini/category/134.aspx</link><description>Outlook</description><managingEditor>Gianni Giaccaglini</managingEditor><dc:language>it-IT</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Gianni Giaccaglini</dc:creator><title>Divagazioni di fine 2009, su antinomie e dintorni</title><link>http://blog.shareoffice.it/giannigiaccaglini/archive/2009/12/25/10316.aspx</link><pubDate>Fri, 25 Dec 2009 17:58:00 GMT</pubDate><guid>http://blog.shareoffice.it/giannigiaccaglini/archive/2009/12/25/10316.aspx</guid><wfw:comment>http://blog.shareoffice.it/giannigiaccaglini/comments/10316.aspx</wfw:comment><comments>http://blog.shareoffice.it/giannigiaccaglini/archive/2009/12/25/10316.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.shareoffice.it/giannigiaccaglini/comments/commentRss/10316.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/giannigiaccaglini/services/trackbacks/10316.aspx</trackback:ping><description>&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;font color="#000080" size="5" face="Calibri"&gt;&lt;strong&gt;Considerazioni fuori programma (rispetto alle macro e all'IT)&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;Sperando di non disturbare la suscettibilità o la commiserazione di chicchessia, mi permetto alcune osservazioni spicciole su tre celebri antinomie (senza pretesa di essere esaustivo né di aver fatto scoperte originali o peggio di non commettere errori).&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;font face="Calibri"&gt;Premetto che i vari casi mi paiono afflitti da un limite della logica, almeno “normale” (ossia degli Enunciati) quando pretende di considerare il tempo...&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Tahoma&gt;&lt;FONT color=#0000ff&gt;&lt;FONT size=4&gt;ACHILLE E LA TARTARUGA&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;Considerare unit&amp;#224; di tempo piccole a piacere &amp;#232; legittimo, ma non lo &amp;#232; aggiungerne di sempre pi&amp;#249; piccole concludendo con MAI. Infatti nel primo caso, per quanto piccoli siano gl&amp;#8217;intervalli temporali Achille superer&amp;#224; di certo la tartaruga in un numero finito di essi.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=5&gt;&lt;FONT color=#0000ff&gt;IL CRETESE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;Non &amp;#232; possibile, per coerenza, che un perfetto mentitore dica &amp;#8220;tutto quel che dico &amp;#232; falso&amp;#8221;, potr&amp;#224; semmai affermare &amp;#8220;tutto quel che dico &amp;#232; vero&amp;#8221;.&amp;nbsp;Dopo di che,&amp;nbsp;sospettato ingiustamente di un&amp;nbsp; delitto capitale risponder&amp;#224; s&amp;#236; alla domanda &amp;#8220;Sei tu il colpevole?&amp;#8221;, senza la soddisfazione di poter affermare, sul patibolo, &amp;#8220;Muoio per amore della Menzogna!&amp;#8221;. [O forse &amp;#8220;Muoio per amore della verit&amp;#224;&amp;#8221; &amp;#232; un&amp;#8217;antinomia? Boh].&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=5&gt;&lt;FONT color=#0000ff&gt;IL BARBIERE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;L&amp;#8217;editto &amp;#8220;Il barbiere deve radere tutti quelli che non si fanno la barba da soli&amp;#8221; presenta almeno un&amp;#8217;ambiguit&amp;#224;: &amp;#232; lecito farsi radere da un altro? Immaginiamo che alla specifica richiesta di chiarimento &amp;#8211; come sempre accade nelle norme giuridiche o assimilabili che richiedono interpretazioni &amp;#8220;autentiche&amp;#8221; sullo &lt;EM&gt;spirito&lt;/EM&gt; di una legge &amp;#8211; il Sovrano cambi la dizione in &amp;#8220;Tutti gli abitanti si debbono radere da soli o farsi radere dal barbiere&amp;#8221;, che, senza chiarire esplicitamente che cosa deve fare il barbiere, &amp;nbsp;esclude la possibilit&amp;#224; di ricorrere ad altri che non sia il barbiere. A parte il fatto che resta oscura e comunque ardua la possibilit&amp;#224; di sanzione, esclusa la fragranza (ma se uno &amp;#232; sbarbato che si fa?), e tralasciando l&amp;#8217;ipotesi di un barbiere eunuco o femmina, il punto a mio avviso &amp;#232; che &lt;U&gt;il barbiere ha un duplice ruolo&lt;/U&gt;: &lt;EM&gt;cittadino&lt;/EM&gt; e &lt;EM&gt;funzionario-barbitonsore&lt;/EM&gt; (senza essere schizofrenico: tutti hanno ruoli molteplici in un consesso sociale). E scegliendo di radersi da solo, come cittadino, subito DOPO toglie a se stesso, cio&amp;#232; al barbiere, il compito di farlo.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=5&gt;&lt;FONT color=#0000ff&gt;CIRCUITI LOGICI SEQUENZIALI&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;Mi permetto di insistere coi Logici puri (che finora non mi hanno dato retta...). I circuiti logici sequenziali (elettronici o, persino, implementati con rel&amp;#232; e contatti)&amp;nbsp;hanno un comportamento che varia nel tempo, presentando cio&amp;#232; una isteresi appunto temporale. Ne sono esempi noti anche a chi ne ignora le connessioni (di tipo feedback) i circuiti memoria (come i flip-flop) o gli oscillatori. I tecnici per descriverli e progettarli adottano una particolare &amp;#8211; ma semplice nei casi elementari - Algebra booleana, in cui sono in gioco NEGAZIONI delle uscite riportate in input. Ad esempio con un&amp;nbsp;X&amp;nbsp;&amp;nbsp;= not&amp;nbsp;Y ove X e Y sono, rispettivamente l&amp;#8217;input e l&amp;#8217;output si ottiene &lt;U&gt;sulla carta ma anche di fatto&lt;/U&gt; un oscillatore di periodo pari al tempo che separa Y e X.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;Dunque &amp;#8220;in natura&amp;#8221; le antinomie sono di fatto risolte. O no? &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Baby Kruffy'; FONT-SIZE: 72pt"&gt;&lt;FONT color=#a52a2a&gt;Buon 2010 !&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;FONT color=#ff0000 size=5&gt;&lt;STRONG&gt;P.S.&lt;/STRONG&gt;&lt;/FONT&gt; &amp;#8211; Aggiungo che l&amp;#8217;astrattezza della logica rispetto alla lebenswelt (mondo della vita) si fa sentire anche in altri contesti ove siano in gioco verbi riflessivi. Provare per ridere, con &amp;#8220;sputarsi&amp;#8221; o, peggio, con &amp;#8220;masturbarsi&amp;#8221;. O, in genere, con verbi che ammettono solo forma riflessiva...&lt;/FONT&gt;&lt;/P&gt;&lt;/bloghelper&gt;?&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/giannigiaccaglini/aggbug/10316.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font color="#000080" size="5" face="Calibri"><strong>Considerazioni fuori programma (rispetto alle macro e all'IT)</strong></font></p>
<p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Calibri">Sperando di non disturbare la suscettibilità o la commiserazione di chicchessia, mi permetto alcune osservazioni spicciole su tre celebri antinomie (senza pretesa di essere esaustivo né di aver fatto scoperte originali o peggio di non commettere errori).</font></p>
<p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Calibri">Premetto che i vari casi mi paiono afflitti da un limite della logica, almeno “normale” (ossia degli Enunciati) quando pretende di considerare il tempo...</font></p>
<p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p><FONT face=Calibri>&nbsp;</FONT></o:p></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><B><FONT face=Tahoma><FONT color=#0000ff><FONT size=4>ACHILLE E LA TARTARUGA<o:p></o:p></FONT></FONT></FONT></B></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><FONT face=Calibri>Considerare unit&#224; di tempo piccole a piacere &#232; legittimo, ma non lo &#232; aggiungerne di sempre pi&#249; piccole concludendo con MAI. Infatti nel primo caso, per quanto piccoli siano gl&#8217;intervalli temporali Achille superer&#224; di certo la tartaruga in un numero finito di essi.</FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT face=Calibri>&nbsp;</FONT></o:p></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><B><FONT face=Calibri><FONT size=5><FONT color=#0000ff>IL CRETESE<o:p></o:p></FONT></FONT></FONT></B></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><FONT face=Calibri>Non &#232; possibile, per coerenza, che un perfetto mentitore dica &#8220;tutto quel che dico &#232; falso&#8221;, potr&#224; semmai affermare &#8220;tutto quel che dico &#232; vero&#8221;.&nbsp;Dopo di che,&nbsp;sospettato ingiustamente di un&nbsp; delitto capitale risponder&#224; s&#236; alla domanda &#8220;Sei tu il colpevole?&#8221;, senza la soddisfazione di poter affermare, sul patibolo, &#8220;Muoio per amore della Menzogna!&#8221;. [O forse &#8220;Muoio per amore della verit&#224;&#8221; &#232; un&#8217;antinomia? Boh].</FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT face=Calibri>&nbsp;</FONT></o:p></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><B><FONT face=Calibri><FONT size=5><FONT color=#0000ff>IL BARBIERE<o:p></o:p></FONT></FONT></FONT></B></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><FONT face=Calibri>L&#8217;editto &#8220;Il barbiere deve radere tutti quelli che non si fanno la barba da soli&#8221; presenta almeno un&#8217;ambiguit&#224;: &#232; lecito farsi radere da un altro? Immaginiamo che alla specifica richiesta di chiarimento &#8211; come sempre accade nelle norme giuridiche o assimilabili che richiedono interpretazioni &#8220;autentiche&#8221; sullo <EM>spirito</EM> di una legge &#8211; il Sovrano cambi la dizione in &#8220;Tutti gli abitanti si debbono radere da soli o farsi radere dal barbiere&#8221;, che, senza chiarire esplicitamente che cosa deve fare il barbiere, &nbsp;esclude la possibilit&#224; di ricorrere ad altri che non sia il barbiere. A parte il fatto che resta oscura e comunque ardua la possibilit&#224; di sanzione, esclusa la fragranza (ma se uno &#232; sbarbato che si fa?), e tralasciando l&#8217;ipotesi di un barbiere eunuco o femmina, il punto a mio avviso &#232; che <U>il barbiere ha un duplice ruolo</U>: <EM>cittadino</EM> e <EM>funzionario-barbitonsore</EM> (senza essere schizofrenico: tutti hanno ruoli molteplici in un consesso sociale). E scegliendo di radersi da solo, come cittadino, subito DOPO toglie a se stesso, cio&#232; al barbiere, il compito di farlo.</FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT face=Calibri>&nbsp;</FONT></o:p></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><B><FONT face=Calibri><FONT size=5><FONT color=#0000ff>CIRCUITI LOGICI SEQUENZIALI<o:p></o:p></FONT></FONT></FONT></B></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><FONT face=Calibri>Mi permetto di insistere coi Logici puri (che finora non mi hanno dato retta...). I circuiti logici sequenziali (elettronici o, persino, implementati con rel&#232; e contatti)&nbsp;hanno un comportamento che varia nel tempo, presentando cio&#232; una isteresi appunto temporale. Ne sono esempi noti anche a chi ne ignora le connessioni (di tipo feedback) i circuiti memoria (come i flip-flop) o gli oscillatori. I tecnici per descriverli e progettarli adottano una particolare &#8211; ma semplice nei casi elementari - Algebra booleana, in cui sono in gioco NEGAZIONI delle uscite riportate in input. Ad esempio con un&nbsp;X&nbsp;&nbsp;= not&nbsp;Y ove X e Y sono, rispettivamente l&#8217;input e l&#8217;output si ottiene <U>sulla carta ma anche di fatto</U> un oscillatore di periodo pari al tempo che separa Y e X.</FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><FONT face=Calibri>Dunque &#8220;in natura&#8221; le antinomie sono di fatto risolte. O no? </FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Baby Kruffy'; FONT-SIZE: 72pt"><FONT color=#a52a2a>Buon 2010 !</FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><FONT face=Calibri><FONT color=#ff0000 size=5><STRONG>P.S.</STRONG></FONT> &#8211; Aggiungo che l&#8217;astrattezza della logica rispetto alla lebenswelt (mondo della vita) si fa sentire anche in altri contesti ove siano in gioco verbi riflessivi. Provare per ridere, con &#8220;sputarsi&#8221; o, peggio, con &#8220;masturbarsi&#8221;. O, in genere, con verbi che ammettono solo forma riflessiva...</FONT></P></bloghelper>?></p><img src ="http://blog.shareoffice.it/giannigiaccaglini/aggbug/10316.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Gianni Giaccaglini</dc:creator><title>Ricerca filtrata di mail: richiesta di aiuto...</title><link>http://blog.shareoffice.it/giannigiaccaglini/archive/2009/09/23/10244.aspx</link><pubDate>Wed, 23 Sep 2009 17:44:00 GMT</pubDate><guid>http://blog.shareoffice.it/giannigiaccaglini/archive/2009/09/23/10244.aspx</guid><wfw:comment>http://blog.shareoffice.it/giannigiaccaglini/comments/10244.aspx</wfw:comment><comments>http://blog.shareoffice.it/giannigiaccaglini/archive/2009/09/23/10244.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.shareoffice.it/giannigiaccaglini/comments/commentRss/10244.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/giannigiaccaglini/services/trackbacks/10244.aspx</trackback:ping><description>&lt;h1 style="MARGIN: 24pt 0cm 0pt"&gt;&lt;font color="#365f91" size="5" face="Cambria"&gt;Ricerca filtrata di mail: richiesta a chi-sa-parli&lt;/font&gt;&lt;/h1&gt;
&lt;p style="MARGIN-BOTTOM: 12pt"&gt;&lt;span style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;Un certo &lt;b style="mso-bidi-font-weight: normal"&gt;Lorenzo Pedrinolli &lt;/b&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt"&gt;mi ha sottoposto un problema, al quale onestamente non trovo soluzione per mancanza di tempo (o incompetenza? Ebbene sì...). Tuttavia ritengo che la cosa sia di grande interesse per molti, me incluso, tanto più che il buon Lorenzo &lt;u&gt;fornisce pure una complessa routine&lt;/u&gt; attinta dal Web, &lt;u&gt;che ahimè sul suo PC malfunziona, ma fusse che fusse che un erroraccio banale è alla base del dramma?&lt;/u&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-BOTTOM: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt"&gt;Che fare? Pensa e ripensa ho creduto utile pubblicare la richiesta del sullodato Pedrinolli, nella speranza che qualche anima buona ed esperta sappia aiutarlo. In tal caso siete pregati di rivolgersi al sottoscritto &lt;U&gt;solo in caso di soluzioni valide, altrimenti indirizzate soltanto al sullodato:&lt;o:p&gt;&lt;/o:p&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN-BOTTOM: 12pt" align=center&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;A href="mailto:lorenzo.pedrinolli@gmail.com"&gt;lorenzo.pedrinolli@gmail.com&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/P&gt;
&lt;DIV style="BORDER-BOTTOM: windowtext 1.5pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 1pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-element: para-border-div"&gt;
&lt;P style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; MARGIN-BOTTOM: 12pt; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-padding-alt: 0cm 0cm 1.0pt 0cm; mso-border-bottom-alt: solid windowtext 1.5pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt"&gt;Ma ecco la missiva in questione, che al termine riporta la routine che delude. &lt;U&gt;Ovviamente sono gradite anche soluzioni diverse da quella-che-delude&lt;/U&gt;&lt;/SPAN&gt;.&lt;/P&gt;
&lt;P style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; MARGIN-BOTTOM: 12pt; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-padding-alt: 0cm 0cm 1.0pt 0cm; mso-border-bottom-alt: solid windowtext 1.5pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P style="MARGIN-BOTTOM: 12pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;Salve Gianni,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-BOTTOM: 12pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;Il mio datore di lavoro, per mia disgrazia, mi ha promosso programmatore solo perch&amp;#233; me la cavo con Visual Basic e SQL. Sono incappato nel suo sito alla disperata ricerca di una soluzione per esportare le mail da Outlook con una procedura quanto pi&amp;#249; automatica possibile e, facendole i complimenti [&lt;I style="mso-bidi-font-style: normal"&gt;non c&amp;#8217;&amp;#232; di che &amp;#8211; G.G. &lt;/I&gt;], ho trovato tutto quello che mi serviva. Ora per&amp;#242; &amp;#232; nato il problema opposto: da 50 - 100 mail che dovevano essere archiviate siamo passati a 4 - 5000 in poco pi&amp;#249; di due mesi e, ovviamente, mi &amp;#232; stato chiesto un programma per ricercarle in base ad attributi vari: corpo, destinatario, mittente ecc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-BOTTOM: 12pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;Ora non sono in grado di trovare un modo per leggere le propriet&amp;#224; di un file *.msg presente sul disco ne tantomeno di far riconoscere a vb che quel file &amp;#232; un messaggio.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-BOTTOM: 12pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;L'unica soluzione che ho trovato &amp;#232; una script (che riporto qui sotto). A detta dell'autore dovrebbe leggere queste propriet&amp;#224; senza far ricorso ad oggetti esterni... peccato che non riconosca i file msg presenti sul mio pc e che vada in ciclo senza fine una volta s&amp;#236; e l'altra pure.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-BOTTOM: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt"&gt;Confidando che riesca a trovare 10 minuti per aiutarmi [&lt;I style="mso-bidi-font-style: normal"&gt;altro che dieci minuti! &lt;/I&gt;&lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;Ce ne vorrebbero molti di pi&amp;#249;! Io non li ho ma qualcun altro ? &lt;/SPAN&gt;&lt;/I&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt"&gt;G.G.&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt"&gt;] le porgo saluti e rinnovati ringraziamenti &lt;SPAN style="mso-spacerun: yes"&gt; &lt;/SPAN&gt;per avermi salvato in varie occasioni.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-BOTTOM: 12pt"&gt;&lt;SPAN class=Titolo2Carattere&gt;&lt;SPAN style="FONT-SIZE: 13pt; mso-ansi-language: EN-US; mso-fareast-font-family: Calibri" lang=EN-US&gt;&lt;STRONG&gt;&lt;FONT color=#4f81bd&gt;&lt;FONT face=Cambria&gt;La routine deludente&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-BOTTOM: 12pt"&gt;&lt;SPAN class=Titolo2Carattere&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: windowtext; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;Viene&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=Titolo2Carattere&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;STRONG&gt;&lt;FONT color=#4f81bd&gt; &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=Titolo2Carattere&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: windowtext; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;qui sotto&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=Titolo2Carattere&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;FONT color=#4f81bd&gt; &lt;/FONT&gt;&lt;FONT color=#000000&gt;riportata &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT color=#000000&gt;&lt;SPAN class=Titolo2Carattere&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: windowtext; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;senza &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=Titolo2Carattere&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;altri &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=Titolo2Carattere&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: windowtext; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;commenti&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=Titolo2Carattere&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt; se non quelli incorporate [&lt;I style="mso-bidi-font-style: normal"&gt;e sperando che gli esperti cui si rivolge la richiesta di aiuto se la cavino in tale guazzabuglio. &lt;/I&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=Titolo2Carattere&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-ansi-language: EN-US; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin" lang=EN-US&gt;G.G. &lt;/SPAN&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;SPAN class=Titolo2Carattere&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-ansi-language: EN-US; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin" lang=EN-US&gt;]&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-BOTTOM: 12pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US&gt;Option Explicit On&lt;BR&gt;Module Prova&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;    'MsgBox MsgGet("DateSent,ReplyType,DateReply,RecipientsBCC,RecipientsTo,RecipientsCC,From,Prefix,MessageID,Subject,DateSent,DateReceived,AttachmentNumbers,AttachmentExtract,AttachmentNames,Recipients","temp.MSG")&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;    Function MsgGet(ByVal s_Val, ByVal s_fileName)&lt;BR&gt;&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        '                            Outlook MSG Reading Utility&lt;BR&gt;        '                                Sean Currie @2005&lt;BR&gt;        '&lt;BR&gt;        ' Description : Decodes an Outlook MSG file by reading the Compound Binary File&lt;BR&gt;        '               format directly. Note most of the details on the compound binary&lt;BR&gt;        '               file format derived from &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"&gt;&lt;A href="http://www.openoffice.org/" target=_blank&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;www.openoffice.org&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;BR&gt;        '               It DOES NOT require Outlook to be installed on the client machine&lt;BR&gt;        '               nor does it require access to any libraries or third party DLL's&lt;BR&gt;        ' Arguments   : &lt;s_Val&gt; The value or values to return (each separated by a comma)&lt;BR&gt;        '                       e.g.&lt;BR&gt;        '                       Subject            - The subject of the email&lt;BR&gt;        '                       Prefix          - The subject prefix of the email&lt;BR&gt;        '                       MessageID               - The Message ID&lt;BR&gt;        '                       From             - The from address or name whichever&lt;BR&gt;        '                                                 available&lt;BR&gt;        '                       Body                    - The Message Body&lt;BR&gt;        '                       AttachmentNumbers    - The number of attachments&lt;BR&gt;        '                       AttachmentNames        - The names of the attachments&lt;BR&gt;        '                                                 (multiple values separated by a |)&lt;BR&gt;        '                       Recipients        - All of the recipient addresses or name whichever&lt;BR&gt;        '                                                 available (multiple values&lt;BR&gt;        '                                                 separated by a |)&lt;BR&gt;        '                                                 includes TO, CC and BCC&lt;BR&gt;        '                       RecipientsTo        - All the TO addresses or name whichever&lt;BR&gt;        '                                                 available (multiple values&lt;BR&gt;        '                                                 separated by a |)&lt;BR&gt;        '                       RecipientsCC        - All the CC addresses or name whichever&lt;BR&gt;        '                                                 available (multiple values&lt;BR&gt;        '                                                 separated by a |)&lt;BR&gt;        '                       RecipientsBCC        - All the BCC addresses or name whichever&lt;BR&gt;        '                                                 available (multiple values&lt;BR&gt;        '                                                 separated by a |)&lt;BR&gt;        '                       AttachmentExtract    - The attachments are extracted to&lt;BR&gt;        '                                                 a temporary folder and the names&lt;BR&gt;        '                                                 returned to the user&lt;BR&gt;        '                                                 (multiple values spearated by a |)&lt;BR&gt;        '                       DateSent                - The date sent of the email (may not&lt;BR&gt;        '                                                 have been sent if in drafts)&lt;BR&gt;        '                       DateReceived            - The date received if the email has&lt;BR&gt;        '                                                 been received&lt;BR&gt;        '                       DateReply               - Date reply requested in follow up&lt;BR&gt;        '                       ReplyType               - Reply type (Follow up type)&lt;BR&gt;        '                       &lt;BR&gt;        '                       Each value is separated by a ^ and each sub value by a |&lt;BR&gt;        '                       For example:&lt;BR&gt;        '                         asking for Recipients could return&lt;BR&gt;        '                         &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"&gt;&lt;A href="mailto:sean.currie@poboxes.com" target=_blank&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;sean.currie@poboxes.com&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US&gt;|&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"&gt;&lt;A href="mailto:nuala.currie@poboxes.com" target=_blank&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;nuala.currie@poboxes.com&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;BR&gt;        '                         You could then use Split to create an array&lt;BR&gt;        '                       For example:&lt;BR&gt;        '                         asking for "Recipients,From" could return&lt;BR&gt;        '                         &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"&gt;&lt;A href="mailto:sean.currie@poboxes.com" target=_blank&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;sean.currie@poboxes.com&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US&gt;|&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"&gt;&lt;A href="mailto:nuala.currie@poboxes.com" target=_blank&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;nuala.currie@poboxes.com&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US&gt;^&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"&gt;&lt;A href="mailto:anyone@internet.com" target=_blank&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;anyone@internet.com&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;BR&gt;        '                         You could then use Split with ^ to create two arrays&lt;BR&gt;        '                         One of recipients and one of froms&lt;BR&gt;        '                         Then you could use Split again to get a list of the Recipients&lt;BR&gt;        '&lt;BR&gt;        'Examples     : Extract just the subject&lt;BR&gt;        '               MsgBox MsgGet("Subject","test.msg")&lt;BR&gt;        '&lt;BR&gt;        '               Extract multiple fields there we extract the Subject and the From address&lt;BR&gt;        '               MsgBox MsgGet("Subject,From","test2.msg")&lt;BR&gt;        '&lt;BR&gt;        '               Extract the subject, extract the attachments to the temporary folder and&lt;BR&gt;        '               return the names of the attachments&lt;BR&gt;        '               MsgBox MsgGet("Subject,AttachmentExtract","shortcut.msg")&lt;BR&gt;        '&lt;BR&gt;        ' Created     : 24/12/2005&lt;BR&gt;        ' Version     : 1.0&lt;BR&gt;        '&lt;BR&gt;        ' Description : Modified the way attachments are decoded using a new feature I call&lt;BR&gt;        '               the MultiSectorReader, this speeds up sector decoding by reading&lt;BR&gt;        '               sequential sectors in one go thereby speeding up the read process for&lt;BR&gt;        '               big emails&lt;BR&gt;        ' Modified    : 02/01/2006&lt;BR&gt;        ' Version     : 1.1&lt;BR&gt;        '&lt;BR&gt;        ' Description : Found failure when number of bytes to read for a sector was zero added&lt;BR&gt;        '               code to check for zero sectors&lt;BR&gt;        ' Modified    : 28/01/2007&lt;BR&gt;        ' Version     : 1.2&lt;BR&gt;        '&lt;BR&gt;        ' Description : Major rewrite to reflect use of OutlookSpy to determine ID's of fields&lt;BR&gt;        '               Now accurately reports submit time and received time (previously searched&lt;BR&gt;        '               headers, now uses proper MAPI properties to get them).&lt;BR&gt;        '               Now also report recipients more accurately and can now separate TO, CC and&lt;BR&gt;        '               BCC.&lt;BR&gt;        '               Removed receivedby as didn't think it would ever be used.&lt;BR&gt;        '               Added support to determine follow up date of email (reply by field)&lt;BR&gt;        '               Now also correctly builds the directory from the array&lt;BR&gt;        ' Modified    : 23/02/2007&lt;BR&gt;        ' Version     : 2.0&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;&lt;BR&gt;        Dim o_FSO               ' File system object&lt;BR&gt;        Dim o_File               ' The input MSG file&lt;BR&gt;        Dim s_String           ' Temporary string&lt;BR&gt;        Dim s_Temp               ' Temporary variable&lt;BR&gt;        Dim s_SectSize           ' Sector size&lt;BR&gt;        Dim s_ShortSectSize       ' Short sector size&lt;BR&gt;        Dim s_SectSAT           ' No of SAT sectors&lt;BR&gt;        Dim s_DIRSID           ' First SID of directory&lt;BR&gt;        Dim s_MinStream           ' Minimum size of standard stream&lt;BR&gt;        Dim s_SIDSSAT           ' SID of the SSAT&lt;BR&gt;        Dim s_SSATNumber       ' Number of SSAT sectors&lt;BR&gt;        Dim s_SAT               ' The array of SAT entries&lt;BR&gt;        Dim s_MSATSID           ' First sector of MSAT&lt;BR&gt;        Dim s_SectMSAT           ' No of MSAT sectors&lt;BR&gt;        Dim a_Temp(0, 0)        ' The array of temporary entries&lt;BR&gt;        Dim a_Dir(0, 0)                ' The array of directory entries&lt;BR&gt;        Dim a_MSAT()           ' The array of MSAT entries&lt;BR&gt;        Dim a_SSAT()           ' The array of SSAT entries&lt;BR&gt;        Dim M_W                   ' Temporary Counter&lt;BR&gt;        Dim M_X                   ' Temporary Counter&lt;BR&gt;        Dim M_Y                   ' Temporary Counter&lt;BR&gt;        Dim M_Z                   ' Temporary Counter&lt;BR&gt;        Dim s_ShortSat           ' The short sector container stream&lt;BR&gt;        Dim s_ShortStart       ' The short sector SAT data&lt;BR&gt;        Dim s_ShortSize           ' The short sector SAT data&lt;BR&gt;        Dim a_Val               ' Array of s_Val awaiting return values&lt;BR&gt;        Dim b_Debug               ' Set this variable to True to create TXT files in the&lt;BR&gt;        ' current directory to see what is being read from the&lt;BR&gt;        ' MSG file&lt;BR&gt;        Dim s_Return           ' The returned string&lt;BR&gt;        Dim s_MessageID           ' The message ID&lt;BR&gt;        Dim s_Subject           ' The message subject&lt;BR&gt;        Dim s_From               ' The message from address&lt;BR&gt;        Dim s_Prefix           ' The message subject prefix&lt;BR&gt;        Dim s_Body               ' The message body&lt;BR&gt;        Dim s_AttachNums       ' The message attachment numbers&lt;BR&gt;        Dim a_AttachNames()       ' The message attachment names&lt;BR&gt;        Dim a_Recipients()       ' The message recipients (To, CC and BCC)&lt;BR&gt;        Dim a_RecipientsTo()   ' The message recipients in the TO list&lt;BR&gt;        Dim a_RecipientsCC()   ' The message recipients in the CC list&lt;BR&gt;        Dim a_RecipientsBCC()  ' The message recipients in the BCC list&lt;BR&gt;        Dim a_Attachments()       ' The message attachments names on disk&lt;BR&gt;        Dim a_Attachments2()   ' The message attachments names&lt;BR&gt;        Dim s_DateSent           ' The message date was sent&lt;BR&gt;        Dim s_DateReceived       ' The message date was received&lt;BR&gt;        Dim s_DateReply           ' The message date of reply (also known as follow up date)&lt;BR&gt;        Dim s_ReplyType           ' The message follow up type&lt;BR&gt;&lt;BR&gt;        ' Create object and get the file&lt;BR&gt;        o_FSO = My.Computer.FileSystem&lt;BR&gt;&lt;BR&gt;        If Not o_FSO.FileExists(s_fileName) Then&lt;BR&gt;            MsgGet = "Error: File does not exist!"&lt;BR&gt;            Exit Function&lt;BR&gt;        End If&lt;BR&gt;        If UCase(Right(s_fileName, 4)) &lt;&gt; ".MSG" Then&lt;BR&gt;            MsgGet = "Error: Not an MSG file!"&lt;BR&gt;            Exit Function&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        o_File = My.Computer.FileSystem.ReadAllText(s_fileName)&lt;BR&gt;&lt;BR&gt;        ' Check that right hand of s_Val has comma&lt;BR&gt;        If Right(s_Val, 1) &lt;&gt; "," Then&lt;BR&gt;            s_Val = s_Val &amp; ","&lt;BR&gt;        End If&lt;BR&gt;        s_Val = UCase(s_Val)&lt;BR&gt;&lt;BR&gt;        ' Set the return variables to nothing&lt;BR&gt;        MsgGet = ""&lt;BR&gt;        s_ShortSat = ""&lt;BR&gt;        s_Return = ""&lt;BR&gt;        s_Subject = ""&lt;BR&gt;        s_MessageID = ""&lt;BR&gt;        s_From = ""&lt;BR&gt;        s_Prefix = ""&lt;BR&gt;        s_Body = ""&lt;BR&gt;        s_AttachNums = 0&lt;BR&gt;        b_Debug = True&lt;BR&gt;        s_DateSent = ""&lt;BR&gt;        s_DateReceived = ""&lt;BR&gt;        s_DateReply = ""&lt;BR&gt;        s_ReplyType = ""&lt;BR&gt;&lt;BR&gt;        ' Read header characters&lt;BR&gt;        s_String = o_File.Read(8)&lt;BR&gt;&lt;BR&gt;        ' Check its a compound file&lt;BR&gt;        If s_String &lt;&gt; MyHexToHexCoded("D0CF11E0A1B11AE1") Then&lt;BR&gt;            MsgGet = "Error: Not an MSG file!"&lt;BR&gt;            Exit Function&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        ' Read 16 chars unique identifier with revision&lt;BR&gt;        s_String = o_File.Read(20)&lt;BR&gt;&lt;BR&gt;        ' Read 2 chars of byte identifier&lt;BR&gt;        s_String = o_File.Read(2)&lt;BR&gt;&lt;BR&gt;        If s_String &lt;&gt; MyHexToHexCoded("FEFF") Then&lt;BR&gt;            MsgGet = "Error: Not an MSG file!"&lt;BR&gt;            Exit Function&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        ' Read 2 chars of sector size&lt;BR&gt;        s_String = o_File.Read(2)&lt;BR&gt;&lt;BR&gt;        ' Convert to number and power of 2&lt;BR&gt;        s_SectSize = 2 ^ MyVBNumber(s_String)&lt;BR&gt;&lt;BR&gt;        ' Read 2 chars of short sector size&lt;BR&gt;        s_String = o_File.Read(2)&lt;BR&gt;&lt;BR&gt;        ' Convert to number and power of 2&lt;BR&gt;        s_ShortSectSize = 2 ^ MyVBNumber(s_String)&lt;BR&gt;&lt;BR&gt;        ' Read 10 chars of invalid data&lt;BR&gt;        s_String = o_File.Read(10)&lt;BR&gt;&lt;BR&gt;        ' Read 4 chars of sectors in SAT&lt;BR&gt;        s_String = o_File.Read(4)&lt;BR&gt;&lt;BR&gt;        ' Convert to number&lt;BR&gt;        s_SectSAT = MyVBNumber(s_String)&lt;BR&gt;&lt;BR&gt;        ' Read 4 chars of first DIR SID&lt;BR&gt;        s_String = o_File.Read(4)&lt;BR&gt;&lt;BR&gt;        ' Convert to number&lt;BR&gt;        s_DIRSID = MyVBNumber(s_String)&lt;BR&gt;&lt;BR&gt;        ' Read 4 chars of invalid data&lt;BR&gt;        s_String = o_File.Read(4)&lt;BR&gt;&lt;BR&gt;        ' Read 4 chars of min stream size&lt;BR&gt;        s_String = o_File.Read(4)&lt;BR&gt;&lt;BR&gt;        ' Convert to number&lt;BR&gt;        s_MinStream = MyVBNumber(s_String)&lt;BR&gt;&lt;BR&gt;        ' Read 4 chars of SID of the SSAT&lt;BR&gt;        s_String = o_File.Read(4)&lt;BR&gt;&lt;BR&gt;        ' Convert to number&lt;BR&gt;        s_SIDSSAT = MyVBNumber(s_String)&lt;BR&gt;&lt;BR&gt;        ' Read 4 chars of number of SSAT sectors&lt;BR&gt;        s_String = o_File.Read(4)&lt;BR&gt;&lt;BR&gt;        ' Convert to number&lt;BR&gt;        s_SSATNumber = MyVBNumber(s_String)&lt;BR&gt;&lt;BR&gt;        ' Read 4 chars of MSAT SID&lt;BR&gt;        s_String = o_File.Read(4)&lt;BR&gt;&lt;BR&gt;        ' Convert to number&lt;BR&gt;        s_MSATSID = MyVBNumber(s_String)&lt;BR&gt;&lt;BR&gt;        ' Read 4 chars of number of sectors in MSAT&lt;BR&gt;        s_String = o_File.Read(4)&lt;BR&gt;&lt;BR&gt;        ' Convert to number&lt;BR&gt;        s_SectMSAT = MyVBNumber(s_String)&lt;BR&gt;&lt;BR&gt;        ' Now read the first 109 entries in the MSAT&lt;BR&gt;        For M_X = 1 To 109&lt;BR&gt;&lt;BR&gt;            ' Read 4 chars of MSAT sector IDs&lt;BR&gt;            s_String = o_File.Read(4)&lt;BR&gt;&lt;BR&gt;            If MyVBNumber(s_String) &gt;= 0 Then&lt;BR&gt;&lt;BR&gt;                ReDim Preserve a_MSAT(MyArrayLen(a_MSAT, 1) + 1)&lt;BR&gt;&lt;BR&gt;                a_MSAT(MyArrayLen(a_MSAT, 1) - 1) = MyVBNumber(s_String)&lt;BR&gt;&lt;BR&gt;            End If&lt;BR&gt;&lt;BR&gt;        Next&lt;BR&gt;&lt;BR&gt;        o_File.Close()&lt;BR&gt;&lt;BR&gt;        ' The header has now been read&lt;BR&gt;        ' We now know quite a few things&lt;BR&gt;        ' - The total number of sectors in the MSAT&lt;BR&gt;        ' - The first sector of the MSAT to start reading it&lt;BR&gt;        ' We can now read the MSAT and from there we can read everything&lt;BR&gt;&lt;BR&gt;        ' Do we need to read the MSAT if it is more than 109 entries?&lt;BR&gt;        If s_MSATSID &lt;&gt; -2 Then&lt;BR&gt;&lt;BR&gt;            M_Y = s_MSATSID&lt;BR&gt;&lt;BR&gt;            ' Lets loop through the MSAT&lt;BR&gt;            Do While M_Y &gt;= 0&lt;BR&gt;&lt;BR&gt;                s_Temp = MySectorReader(s_SectSize, M_Y, s_fileName)&lt;BR&gt;&lt;BR&gt;                For M_X = 1 To s_SectSize - 4 Step 4&lt;BR&gt;&lt;BR&gt;                    s_String = Mid(s_Temp, M_X, 4)&lt;BR&gt;&lt;BR&gt;                    If MyVBNumber(s_String) &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                        ReDim Preserve a_MSAT(MyArrayLen(a_MSAT, 1) + 1)&lt;BR&gt;&lt;BR&gt;                        a_MSAT(MyArrayLen(a_MSAT, 1) - 1) = MyVBNumber(s_String)&lt;BR&gt;&lt;BR&gt;                    End If&lt;BR&gt;                Next&lt;BR&gt;&lt;BR&gt;                s_String = Right(s_Temp, 4)&lt;BR&gt;                If MyVBNumber(s_String) &gt; 0 Then&lt;BR&gt;                    M_Y = MyVBNumber(s_String)&lt;BR&gt;                Else&lt;BR&gt;                    M_Y = -2&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            Loop&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        ' Temporary debug routine to write out the MSAT&lt;BR&gt;        If b_Debug Then&lt;BR&gt;            o_File = o_FSO.CreateTextFile("MSAT.TXT")&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_MSAT, 1) - 1&lt;BR&gt;                o_File.WriteLine("---" &amp; a_MSAT(M_X))&lt;BR&gt;            Next&lt;BR&gt;            o_File.Close()&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        ' We now have the MSAT hence we can now build the SAT from this&lt;BR&gt;        s_SAT = ""&lt;BR&gt;&lt;BR&gt;        For M_Y = 0 To (MyArrayLen(a_MSAT, 1) - 1)&lt;BR&gt;&lt;BR&gt;            s_SAT = s_SAT &amp; MySectorReader(s_SectSize, a_MSAT(M_Y), s_fileName)&lt;BR&gt;&lt;BR&gt;        Next&lt;BR&gt;&lt;BR&gt;        ' Temporary debug routine to write out the SAT&lt;BR&gt;        If b_Debug Then&lt;BR&gt;            o_File = o_FSO.CreateTextFile("SAT.TXT")&lt;BR&gt;            o_File.WriteLine("Sector" &amp; Chr(9) &amp; " : " &amp; "Value")&lt;BR&gt;            For M_X = 1 To Len(s_SAT) Step 4&lt;BR&gt;                o_File.WriteLine(Int(M_X / 4) &amp; Chr(9) &amp; " : " &amp; MyVBNumber(Mid(s_SAT, M_X, 4)))&lt;BR&gt;            Next&lt;BR&gt;            o_File.Close()&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        ' Now we can read the Short Sector SSAT&lt;BR&gt;        If s_SIDSSAT &lt;&gt; -2 Then&lt;BR&gt;&lt;BR&gt;            M_Y = s_SIDSSAT&lt;BR&gt;            s_Temp = MySectorReader(s_SectSize, M_Y, s_fileName)&lt;BR&gt;&lt;BR&gt;            For M_X = 1 To s_SectSize Step 4&lt;BR&gt;&lt;BR&gt;                s_String = Mid(s_Temp, M_X, 4)&lt;BR&gt;&lt;BR&gt;                ReDim Preserve a_SSAT(MyArrayLen(a_SSAT, 1) + 1)&lt;BR&gt;                a_SSAT(MyArrayLen(a_SSAT, 1) - 1) = MyVBNumber(s_String)&lt;BR&gt;&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;            M_Z = 1&lt;BR&gt;            Do While True&lt;BR&gt;                M_Y = MyVBNumber(Mid(s_SAT, (M_Y * 4) + 1, 4))&lt;BR&gt;                If M_Y &gt; 0 Then&lt;BR&gt;                    M_Z = M_Z + 1&lt;BR&gt;                    s_Temp = MySectorReader(s_SectSize, M_Y, s_fileName)&lt;BR&gt;                    For M_X = 1 To s_SectSize Step 4&lt;BR&gt;                        s_String = Mid(s_Temp, M_X, 4)&lt;BR&gt;&lt;BR&gt;                        ReDim Preserve a_SSAT(MyArrayLen(a_SSAT, 1) + 1)&lt;BR&gt;&lt;BR&gt;                        a_SSAT(MyArrayLen(a_SSAT, 1) - 1) = MyVBNumber(s_String)&lt;BR&gt;                    Next&lt;BR&gt;                End If&lt;BR&gt;                If M_Z = s_SSATNumber Then&lt;BR&gt;                    Exit Do&lt;BR&gt;                End If&lt;BR&gt;            Loop&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        ' Temporary debug routine to write out the SSAT&lt;BR&gt;        If b_Debug Then&lt;BR&gt;            o_File = o_FSO.CreateTextFile("SSAT.TXT")&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_SSAT, 1) - 1&lt;BR&gt;                o_File.WriteLine(M_X &amp; Chr(9) &amp; " : " &amp; a_SSAT(M_X))&lt;BR&gt;            Next&lt;BR&gt;            o_File.Close()&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        ' Finally lets read the directory&lt;BR&gt;        M_Y = s_DIRSID&lt;BR&gt;&lt;BR&gt;        ' Lets loop through the DIRECTORY&lt;BR&gt;        M_Z = -1&lt;BR&gt;        Do While M_Y &gt;= 0&lt;BR&gt;&lt;BR&gt;            s_Temp = MySectorReader(s_SectSize, M_Y, s_fileName)&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;            For M_X = 1 To s_SectSize Step 128&lt;BR&gt;&lt;BR&gt;                M_Z = M_Z + 1&lt;BR&gt;&lt;BR&gt;                ' First lets check the type of the directory entry and if zero it is unused&lt;BR&gt;                If MyVBNumber(Mid(s_Temp, M_X + 66, 1)) &lt;&gt; 0 Then&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;                    If MyArrayLen(a_Dir, 2) = 0 Then&lt;BR&gt;                        ReDim Preserve a_Dir(8, 1)&lt;BR&gt;                    Else&lt;BR&gt;                        ReDim Preserve a_Dir(8, MyArrayLen(a_Dir, 2) + 1)&lt;BR&gt;                    End If&lt;BR&gt;&lt;BR&gt;                    ' Format of the array&lt;BR&gt;                    ' 0 - DID&lt;BR&gt;                    ' 1 - Name &lt;BR&gt;                    ' 2 - Type&lt;BR&gt;                    ' 3 - DID Left Child&lt;BR&gt;                    ' 4 - DID Right Child&lt;BR&gt;                    ' 5 - DID root node&lt;BR&gt;                    ' 6 - SID of first sector&lt;BR&gt;                    ' 7 - Stream size&lt;BR&gt;&lt;BR&gt;                    a_Dir(0, MyArrayLen(a_Dir, 2) - 1) = M_Z&lt;BR&gt;                    a_Dir(1, MyArrayLen(a_Dir, 2) - 1) = Replace(Mid(s_Temp, M_X, MyVBNumber(Mid(s_Temp, M_X + 64, 2))), Chr(0), "")&lt;BR&gt;                    a_Dir(2, MyArrayLen(a_Dir, 2) - 1) = MyVBNumber(Mid(s_Temp, M_X + 66, 1))&lt;BR&gt;                    a_Dir(3, MyArrayLen(a_Dir, 2) - 1) = MyVBNumber(Mid(s_Temp, M_X + 68, 4))&lt;BR&gt;                    a_Dir(4, MyArrayLen(a_Dir, 2) - 1) = MyVBNumber(Mid(s_Temp, M_X + 72, 4))&lt;BR&gt;                    a_Dir(5, MyArrayLen(a_Dir, 2) - 1) = MyVBNumber(Mid(s_Temp, M_X + 76, 4))&lt;BR&gt;                    a_Dir(6, MyArrayLen(a_Dir, 2) - 1) = MyVBNumber(Mid(s_Temp, M_X + 116, 4))&lt;BR&gt;                    a_Dir(7, MyArrayLen(a_Dir, 2) - 1) = MyVBNumber(Mid(s_Temp, M_X + 120, 4))&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;            M_Y = MyVBNumber(Mid(s_SAT, (M_Y * 4) + 1, 4))&lt;BR&gt;&lt;BR&gt;        Loop&lt;BR&gt;&lt;BR&gt;        ' Temporary debug routine to write out the SSAT&lt;BR&gt;        ' TO BE REMOVED&lt;BR&gt;        'If b_Debug Then&lt;BR&gt;        '    o_File = o_FSO.CreateTextFile("DIR.TXT")&lt;BR&gt;        '    o_File.WriteLine("DID" &amp; Chr(9) &amp; " : " &amp; "Name" &amp; String(30 - Len("Name"), " ") &amp; " : " &amp; "Type" &amp; Chr(9) &amp; " : " &amp; "Left DID" &amp; Chr(9) &amp; " : " &amp; "Right DID" &amp; Chr(9) &amp; " : " &amp; "Root DID" &amp; Chr(9) &amp; " : " &amp; "Start Sec" &amp; Chr(9) &amp; " : " &amp; "Size")&lt;BR&gt;        '    For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;        '  o_File.WriteLine(a_DIR(0,M_X) &amp; Chr(9) &amp; " : " &amp; a_DIR(1,M_X) &amp; String(30-Len(a_DIR(1,M_X))," ") &amp; " : " &amp; a_DIR(2,M_X) &amp; Chr(9) &amp; Chr(9) &amp; " : " &amp; a_DIR(3,M_X) &amp; Chr(9) &amp; Chr(9) &amp; " : " &amp; a_DIR(4,M_X) &amp; Chr(9) &amp; Chr(9) &amp; " : " &amp; a_DIR(5,M_X) &amp; Chr(9) &amp; Chr(9) &amp; " : " &amp; a_DIR(6,M_X) &amp; Chr(9) &amp; Chr(9) &amp; " : " &amp; a_DIR(7,M_X))&lt;BR&gt;        '    Next&lt;BR&gt;        '    o_File.Close()&lt;BR&gt;        'End If&lt;BR&gt;&lt;BR&gt;        ' Find out the starting SID for the short stream container and then read the short stream container&lt;BR&gt;        If s_SIDSSAT &lt;&gt; -2 Then&lt;BR&gt;&lt;BR&gt;            s_ShortStart = 0&lt;BR&gt;            s_ShortSize = 0&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "ROOT ENTRY") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ' Allocate the first sector of the short sector container stream&lt;BR&gt;                    s_ShortStart = a_Dir(6, M_X)&lt;BR&gt;                    s_ShortSize = a_Dir(7, M_X)&lt;BR&gt;                    Exit For&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;            M_Y = s_ShortStart&lt;BR&gt;            s_ShortSat = MySectorReader(s_SectSize, M_Y, s_fileName)&lt;BR&gt;&lt;BR&gt;            Do While True&lt;BR&gt;                M_Y = MyVBNumber(Mid(s_SAT, (M_Y * 4) + 1, 4))&lt;BR&gt;                If M_Y &gt; 0 Then&lt;BR&gt;                    s_ShortSat = s_ShortSat &amp; MySectorReader(s_SectSize, M_Y, s_fileName)&lt;BR&gt;                End If&lt;BR&gt;                If Len(s_ShortSat) &gt;= s_ShortSize Then&lt;BR&gt;                    Exit Do&lt;BR&gt;                End If&lt;BR&gt;            Loop&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        ' Now lets re-read the DIRECTORY in the proper order as Outlook scrambles it&lt;BR&gt;        For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;            ' Check for a root entry&lt;BR&gt;            If a_Dir(5, M_X) &lt;&gt; -1 Then&lt;BR&gt;&lt;BR&gt;                ' Add to final array&lt;BR&gt;                ReDim Preserve a_Temp(8, MyArrayLen(a_Temp, 2) + 1)&lt;BR&gt;                a_Temp(0, MyArrayLen(a_Temp, 2) - 1) = a_Dir(0, M_X)&lt;BR&gt;                a_Temp(1, MyArrayLen(a_Temp, 2) - 1) = a_Dir(1, M_X)&lt;BR&gt;                a_Temp(2, MyArrayLen(a_Temp, 2) - 1) = a_Dir(2, M_X)&lt;BR&gt;                a_Temp(3, MyArrayLen(a_Temp, 2) - 1) = a_Dir(3, M_X)&lt;BR&gt;                a_Temp(4, MyArrayLen(a_Temp, 2) - 1) = a_Dir(4, M_X)&lt;BR&gt;                a_Temp(5, MyArrayLen(a_Temp, 2) - 1) = a_Dir(5, M_X)&lt;BR&gt;                a_Temp(6, MyArrayLen(a_Temp, 2) - 1) = a_Dir(6, M_X)&lt;BR&gt;                a_Temp(7, MyArrayLen(a_Temp, 2) - 1) = a_Dir(7, M_X)&lt;BR&gt;&lt;BR&gt;                MySubRead(a_Dir(5, M_X), -1, a_Dir, a_Temp)&lt;BR&gt;&lt;BR&gt;            End If&lt;BR&gt;        Next&lt;BR&gt;&lt;BR&gt;        ' Temporary debug routine to write out the sorted DIRECTORY&lt;BR&gt;        ' TO BE REMOVED&lt;BR&gt;        'If b_Debug Then&lt;BR&gt;        '    o_File = o_FSO.CreateTextFile("DIRFINAL.TXT")&lt;BR&gt;        'o_File.WriteLine("DID" &amp; Chr(9) &amp; " : " &amp; "Name" &amp; String(30-Len("Name")," ") &amp; " : " &amp; "Type" &amp; Chr(9) &amp; " : " &amp; "Left DID" &amp; Chr(9) &amp; " : " &amp; "Right DID" &amp; Chr(9) &amp; " : " &amp; "Root DID" &amp; Chr(9) &amp; " : " &amp; "Start Sec" &amp; Chr(9) &amp; " : " &amp; "Size")&lt;BR&gt;        '    For M_X = 0 To MyArrayLen(a_Temp, 2) - 1&lt;BR&gt;        '  o_File.WriteLine(a_Temp(0,M_X) &amp; Chr(9) &amp; " : " &amp; a_Temp(1,M_X) &amp; String(30-Len(a_Temp(1,M_X))," ") &amp; " : " &amp; a_Temp(2,M_X) &amp; Chr(9) &amp; Chr(9) &amp; " : " &amp; a_Temp(3,M_X) &amp; Chr(9) &amp; Chr(9) &amp; " : " &amp; a_Temp(4,M_X) &amp; Chr(9) &amp; Chr(9) &amp; " : " &amp; a_Temp(5,M_X) &amp; Chr(9) &amp; Chr(9) &amp; " : " &amp; a_Temp(6,M_X) &amp; Chr(9) &amp; Chr(9) &amp; " : " &amp; a_Temp(7,M_X))&lt;BR&gt;        '    Next&lt;BR&gt;        '    o_File.Close()&lt;BR&gt;        'End If&lt;BR&gt;&lt;BR&gt;        ReDim a_Dir(8, MyArrayLen(a_Temp, 2))&lt;BR&gt;&lt;BR&gt;        For M_X = 0 To MyArrayLen(a_Temp, 2) - 1&lt;BR&gt;&lt;BR&gt;            a_Dir(0, M_X) = a_Temp(0, M_X)&lt;BR&gt;            a_Dir(1, M_X) = a_Temp(1, M_X)&lt;BR&gt;            a_Dir(2, M_X) = a_Temp(2, M_X)&lt;BR&gt;            a_Dir(3, M_X) = a_Temp(3, M_X)&lt;BR&gt;            a_Dir(4, M_X) = a_Temp(4, M_X)&lt;BR&gt;            a_Dir(5, M_X) = a_Temp(5, M_X)&lt;BR&gt;            a_Dir(6, M_X) = a_Temp(6, M_X)&lt;BR&gt;            a_Dir(7, M_X) = a_Temp(7, M_X)&lt;BR&gt;&lt;BR&gt;        Next&lt;BR&gt;&lt;BR&gt;        ' Now lets build the return strings and data&lt;BR&gt;        If InStr(s_Val, "SUBJECT,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the subject&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_0037") &gt; 0 And a_Dir(7, M_X) &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ' Check if in short stream&lt;BR&gt;                    If a_Dir(7, M_X) &lt; s_MinStream Then&lt;BR&gt;                        s_Subject = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                        Exit For&lt;BR&gt;                    Else&lt;BR&gt;                        s_Subject = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)&lt;BR&gt;                        Exit For&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        ' Now lets build the return strings and data&lt;BR&gt;        If InStr(s_Val, "REPLYTYPE,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the subject&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_8003") &gt; 0 And a_Dir(7, M_X) &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ' Check if in short stream&lt;BR&gt;                    If a_Dir(7, M_X) &lt; s_MinStream Then&lt;BR&gt;                        s_ReplyType = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                        Exit For&lt;BR&gt;                    Else&lt;BR&gt;                        s_ReplyType = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)&lt;BR&gt;                        Exit For&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;        If InStr(s_Val, "MESSAGEID,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the message id&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_1035") &gt; 0 And a_Dir(7, M_X) &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ' Check if in short stream&lt;BR&gt;                    If a_Dir(7, M_X) &lt; s_MinStream Then&lt;BR&gt;                        s_MessageID = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                        Exit For&lt;BR&gt;                    Else&lt;BR&gt;                        s_MessageID = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)&lt;BR&gt;                        Exit For&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        If InStr(s_Val, "FROM,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the from type to find out the source email address&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                ' Check for SMTP&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_0065") &gt; 0 And a_Dir(7, M_X) &gt; 0 And s_From = "" Then&lt;BR&gt;&lt;BR&gt;                    ' Check if in short stream&lt;BR&gt;                    If a_Dir(7, M_X) &lt; s_MinStream Then&lt;BR&gt;                        s_From = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                    Else&lt;BR&gt;                        s_From = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)&lt;BR&gt;                    End If&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;            ' Check if valid SMTP address&lt;BR&gt;            If InStr(s_From, "@") = 0 Then&lt;BR&gt;                s_From = ""&lt;BR&gt;            Else&lt;BR&gt;                s_From = Replace(s_From, "&lt;", "")&lt;BR&gt;                s_From = Replace(s_From, "&gt;", "")&lt;BR&gt;                s_From = Replace(s_From, "'", "")&lt;BR&gt;            End If&lt;BR&gt;&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                ' Check for return address&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_800A") &gt; 0 And a_Dir(7, M_X) &gt; 0 And s_From = "" Then&lt;BR&gt;&lt;BR&gt;                    ' Check if in short stream&lt;BR&gt;                    If a_Dir(7, M_X) &lt; s_MinStream Then&lt;BR&gt;                        s_From = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                        Exit For&lt;BR&gt;                    Else&lt;BR&gt;                        s_From = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)&lt;BR&gt;                        Exit For&lt;BR&gt;                    End If&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;            ' Check if valid SMTP address&lt;BR&gt;            If InStr(s_From, "@") = 0 Then&lt;BR&gt;                s_From = ""&lt;BR&gt;            Else&lt;BR&gt;                s_From = Replace(s_From, "&lt;", "")&lt;BR&gt;                s_From = Replace(s_From, "&gt;", "")&lt;BR&gt;                s_From = Replace(s_From, "'", "")&lt;BR&gt;            End If&lt;BR&gt;&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                ' Check for return address&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_800B") &gt; 0 And a_Dir(7, M_X) &gt; 0 And s_From = "" Then&lt;BR&gt;&lt;BR&gt;                    ' Check if in short stream&lt;BR&gt;                    If a_Dir(7, M_X) &lt; s_MinStream Then&lt;BR&gt;                        s_From = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                        Exit For&lt;BR&gt;                    Else&lt;BR&gt;                        s_From = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)&lt;BR&gt;                        Exit For&lt;BR&gt;                    End If&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;            ' Check if valid SMTP address&lt;BR&gt;            If InStr(s_From, "@") = 0 Then&lt;BR&gt;                s_From = ""&lt;BR&gt;            Else&lt;BR&gt;                s_From = Replace(s_From, "&lt;", "")&lt;BR&gt;                s_From = Replace(s_From, "&gt;", "")&lt;BR&gt;                s_From = Replace(s_From, "'", "")&lt;BR&gt;            End If&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the from type to find out the source email address&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                ' Check for display name&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_0C1A") &gt; 0 And a_Dir(7, M_X) &gt; 0 And s_From = "" Then&lt;BR&gt;&lt;BR&gt;                    ' Check if in short stream&lt;BR&gt;                    If a_Dir(7, M_X) &lt; s_MinStream Then&lt;BR&gt;                        s_From = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                        Exit For&lt;BR&gt;                    Else&lt;BR&gt;                        s_From = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)&lt;BR&gt;                        Exit For&lt;BR&gt;                    End If&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        If InStr(s_Val, "PREFIX,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the message id&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_003D") &gt; 0 And a_Dir(7, M_X) &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ' Check if in short stream&lt;BR&gt;                    If a_Dir(7, M_X) &lt; s_MinStream Then&lt;BR&gt;                        s_Prefix = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                        Exit For&lt;BR&gt;                    Else&lt;BR&gt;                        s_Prefix = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)&lt;BR&gt;                        Exit For&lt;BR&gt;                    End If&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        If InStr(s_Val, "BODY,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the message body&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_1000") &gt; 0 And a_Dir(7, M_X) &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ' Check if in short stream&lt;BR&gt;                    If a_Dir(7, M_X) &lt; s_MinStream Then&lt;BR&gt;                        s_Body = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                        Exit For&lt;BR&gt;                    Else&lt;BR&gt;                        s_Body = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)&lt;BR&gt;                        Exit For&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        If InStr(s_Val, "ATTACHMENTNUMBERS,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the attachments&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__ATTACH_VERSION1.0_#") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ' Total the number in the email&lt;BR&gt;                    s_AttachNums = s_AttachNums + 1&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        If InStr(s_Val, "ATTACHMENTNAMES,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the attachments&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                ' Check for attachment&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__ATTACH_VERSION1.0_#") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ReDim Preserve a_AttachNames(MyArrayLen(a_AttachNames, 1) + 1)&lt;BR&gt;&lt;BR&gt;                    ' Get attachment name&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for attachment name&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            Exit For&lt;BR&gt;&lt;BR&gt;                        ElseIf InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3704") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                a_AttachNames(MyArrayLen(a_AttachNames, 1) - 1) = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                a_AttachNames(MyArrayLen(a_AttachNames, 1) - 1) = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                        ElseIf InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3707") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                a_AttachNames(MyArrayLen(a_AttachNames, 1) - 1) = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                a_AttachNames(MyArrayLen(a_AttachNames, 1) - 1) = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        If InStr(s_Val, "RECIPIENTS,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the recipients&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                ' Check for recipient&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__RECIP_VERSION1.0_#") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ReDim Preserve a_Recipients(MyArrayLen(a_Recipients, 1) + 1)&lt;BR&gt;&lt;BR&gt;                    s_Temp = ""&lt;BR&gt;&lt;BR&gt;                    ' Get recipient name&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for next recipient email&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;                            Exit For&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_39FE") &gt; 0 And a_Dir(7, M_Y) &gt; 0 And s_Temp = "" Then&lt;BR&gt;&lt;BR&gt;                            s_Temp = "1"&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            ' Check if valid SMTP address&lt;BR&gt;                            If InStr(s_String, "@") &lt;&gt; 0 Then&lt;BR&gt;                                s_String = Replace(s_String, "&lt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "&gt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "'", "")&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            a_Recipients(MyArrayLen(a_Recipients, 1) - 1) = s_String&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                    ' Get org email&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for next recipient email&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            Exit For&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_403E") &gt; 0 And a_Dir(7, M_Y) &gt; 0 And s_Temp = "" Then&lt;BR&gt;&lt;BR&gt;                            s_Temp = "1"&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            ' Check if valid SMTP address&lt;BR&gt;                            If InStr(s_String, "@") &lt;&gt; 0 Then&lt;BR&gt;                                s_String = Replace(s_String, "&lt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "&gt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "'", "")&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            a_Recipients(MyArrayLen(a_Recipients, 1) - 1) = s_String&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                    ' Get recipient name&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for next recipient display name&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            Exit For&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3001") &gt; 0 And a_Dir(7, M_Y) &gt; 0 And s_Temp = "" Then&lt;BR&gt;&lt;BR&gt;                            s_Temp = "1"&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            ' Check if valid SMTP address&lt;BR&gt;                            If InStr(s_String, "@") &lt;&gt; 0 Then&lt;BR&gt;                                s_String = Replace(s_String, "&lt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "&gt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "'", "")&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            a_Recipients(MyArrayLen(a_Recipients, 1) - 1) = s_String&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        If InStr(s_Val, "RECIPIENTSTO,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the recipients&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                ' Check for recipient&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__RECIP_VERSION1.0_#") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ReDim Preserve a_RecipientsTo(MyArrayLen(a_RecipientsTo, 1) + 1)&lt;BR&gt;&lt;BR&gt;                    s_Temp = ""&lt;BR&gt;&lt;BR&gt;                    ' Get recipient name&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for recipient email&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;                            Exit For&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_39FE") &gt; 0 And a_Dir(7, M_Y) &gt; 0 And s_Temp = "" Then&lt;BR&gt;&lt;BR&gt;                            s_Temp = "1"&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            ' Check if valid SMTP address&lt;BR&gt;                            If InStr(s_String, "@") &lt;&gt; 0 Then&lt;BR&gt;                                s_String = Replace(s_String, "&lt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "&gt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "'", "")&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            a_RecipientsTo(MyArrayLen(a_RecipientsTo, 1) - 1) = s_String&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                    ' Get org email&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for recipient display name&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            Exit For&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_403E") &gt; 0 And a_Dir(7, M_Y) &gt; 0 And s_Temp = "" Then&lt;BR&gt;&lt;BR&gt;                            s_Temp = "1"&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            ' Check if valid SMTP address&lt;BR&gt;                            If InStr(s_String, "@") &lt;&gt; 0 Then&lt;BR&gt;                                s_String = Replace(s_String, "&lt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "&gt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "'", "")&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            a_RecipientsTo(MyArrayLen(a_RecipientsTo, 1) - 1) = s_String&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                    ' Get recipient name&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for recipient display name&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            Exit For&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3001") &gt; 0 And a_Dir(7, M_Y) &gt; 0 And s_Temp = "" Then&lt;BR&gt;&lt;BR&gt;                            s_Temp = "1"&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            ' Check if valid SMTP address&lt;BR&gt;                            If InStr(s_String, "@") &lt;&gt; 0 Then&lt;BR&gt;                                s_String = Replace(s_String, "&lt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "&gt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "'", "")&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            a_RecipientsTo(MyArrayLen(a_RecipientsTo, 1) - 1) = s_String&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                    ' Get recipient type and delete if wrong&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check if its in the TO list&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 And a_Dir(7, M_Y) &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat)&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            For M_Z = 1 To Len(s_String) Step 8&lt;BR&gt;                                If Mid(s_String, M_Z, 4) = MyHexToHexCoded("0300150C") Then&lt;BR&gt;                                    If MyVBNumber(Mid(s_String, M_Z + 8, 1)) &lt;&gt; 1 And s_Temp &lt;&gt; "" Then&lt;BR&gt;                                        If MyArrayLen(a_RecipientsTo, 1) &gt; 1 Then&lt;BR&gt;                                            ReDim Preserve a_RecipientsTo(MyArrayLen(a_RecipientsTo, 1) - 1)&lt;BR&gt;                                        Else&lt;BR&gt;                                            ReDim a_RecipientsTo(0)&lt;BR&gt;                                        End If&lt;BR&gt;                                    End If&lt;BR&gt;                                End If&lt;BR&gt;                            Next&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        ' Check for recipient email&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;                            Exit For&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;        If InStr(s_Val, "RECIPIENTSCC,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the recipients&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                ' Check for recipient&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__RECIP_VERSION1.0_#") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ReDim Preserve a_RecipientsCC(MyArrayLen(a_RecipientsCC, 1) + 1)&lt;BR&gt;&lt;BR&gt;                    s_Temp = ""&lt;BR&gt;&lt;BR&gt;                    ' Get recipient name&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for recipient email&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;                            Exit For&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_39FE") &gt; 0 And a_Dir(7, M_Y) &gt; 0 And s_Temp = "" Then&lt;BR&gt;&lt;BR&gt;                            s_Temp = "1"&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            ' Check if valid SMTP address&lt;BR&gt;                            If InStr(s_String, "@") &lt;&gt; 0 Then&lt;BR&gt;                                s_String = Replace(s_String, "&lt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "&gt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "'", "")&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            a_RecipientsCC(MyArrayLen(a_RecipientsCC, 1) - 1) = s_String&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                    ' Get org email&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for recipient display name&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            Exit For&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_403E") &gt; 0 And a_Dir(7, M_Y) &gt; 0 And s_Temp = "" Then&lt;BR&gt;&lt;BR&gt;                            s_Temp = "1"&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            ' Check if valid SMTP address&lt;BR&gt;                            If InStr(s_String, "@") &lt;&gt; 0 Then&lt;BR&gt;                                s_String = Replace(s_String, "&lt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "&gt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "'", "")&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            a_RecipientsCC(MyArrayLen(a_RecipientsCC, 1) - 1) = s_String&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                    ' Get recipient name&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for recipient display name&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            Exit For&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3001") &gt; 0 And a_Dir(7, M_Y) &gt; 0 And s_Temp = "" Then&lt;BR&gt;&lt;BR&gt;                            s_Temp = "1"&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            ' Check if valid SMTP address&lt;BR&gt;                            If InStr(s_String, "@") &lt;&gt; 0 Then&lt;BR&gt;                                s_String = Replace(s_String, "&lt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "&gt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "'", "")&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            a_RecipientsCC(MyArrayLen(a_RecipientsCC, 1) - 1) = s_String&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                    ' Get recipient type and delete if wrong&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check if its in the TO list&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 And a_Dir(7, M_Y) &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat)&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            For M_Z = 1 To Len(s_String) Step 8&lt;BR&gt;                                If Mid(s_String, M_Z, 4) = MyHexToHexCoded("0300150C") Then&lt;BR&gt;                                    If MyVBNumber(Mid(s_String, M_Z + 8, 1)) &lt;&gt; 2 And s_Temp &lt;&gt; "" Then&lt;BR&gt;                                        If MyArrayLen(a_RecipientsCC, 1) &gt; 1 Then&lt;BR&gt;                                            ReDim Preserve a_RecipientsCC(MyArrayLen(a_RecipientsCC, 1) - 1)&lt;BR&gt;                                        Else&lt;BR&gt;                                            ReDim a_RecipientsCC(0)&lt;BR&gt;                                        End If&lt;BR&gt;                                    End If&lt;BR&gt;                                End If&lt;BR&gt;                            Next&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        ' Check for recipient email&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;                            Exit For&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;        If InStr(s_Val, "RECIPIENTSBCC,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the recipients&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                ' Check for recipient&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__RECIP_VERSION1.0_#") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ReDim Preserve a_RecipientsBCC(MyArrayLen(a_RecipientsBCC, 1) + 1)&lt;BR&gt;&lt;BR&gt;                    s_Temp = ""&lt;BR&gt;&lt;BR&gt;                    ' Get recipient name&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for recipient email&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;                            Exit For&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_39FE") &gt; 0 And a_Dir(7, M_Y) &gt; 0 And s_Temp = "" Then&lt;BR&gt;&lt;BR&gt;                            s_Temp = "1"&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            ' Check if valid SMTP address&lt;BR&gt;                            If InStr(s_String, "@") &lt;&gt; 0 Then&lt;BR&gt;                                s_String = Replace(s_String, "&lt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "&gt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "'", "")&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            a_RecipientsBCC(MyArrayLen(a_RecipientsBCC, 1) - 1) = s_String&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                    ' Get org email&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for recipient display name&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            Exit For&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_403E") &gt; 0 And a_Dir(7, M_Y) &gt; 0 And s_Temp = "" Then&lt;BR&gt;&lt;BR&gt;                            s_Temp = "1"&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            ' Check if valid SMTP address&lt;BR&gt;                            If InStr(s_String, "@") &lt;&gt; 0 Then&lt;BR&gt;                                s_String = Replace(s_String, "&lt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "&gt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "'", "")&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            a_RecipientsBCC(MyArrayLen(a_RecipientsBCC, 1) - 1) = s_String&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                    ' Get recipient name&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for recipient display name&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            Exit For&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3001") &gt; 0 And a_Dir(7, M_Y) &gt; 0 And s_Temp = "" Then&lt;BR&gt;&lt;BR&gt;                            s_Temp = "1"&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            ' Check if valid SMTP address&lt;BR&gt;                            If InStr(s_String, "@") &lt;&gt; 0 Then&lt;BR&gt;                                s_String = Replace(s_String, "&lt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "&gt;", "")&lt;BR&gt;                                s_String = Replace(s_String, "'", "")&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            a_RecipientsBCC(MyArrayLen(a_RecipientsBCC, 1) - 1) = s_String&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                    ' Get recipient type and delete if wrong&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check if its in the TO list&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 And a_Dir(7, M_Y) &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            s_String = ""&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                s_String = MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat)&lt;BR&gt;                            Else&lt;BR&gt;                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                            For M_Z = 1 To Len(s_String) Step 8&lt;BR&gt;                                If Mid(s_String, M_Z, 4) = MyHexToHexCoded("0300150C") Then&lt;BR&gt;                                    If MyVBNumber(Mid(s_String, M_Z + 8, 1)) &lt;&gt; 3 And s_Temp &lt;&gt; "" Then&lt;BR&gt;                                        If MyArrayLen(a_RecipientsBCC, 1) &gt; 1 Then&lt;BR&gt;                                            ReDim Preserve a_RecipientsBCC(MyArrayLen(a_RecipientsBCC, 1) - 1)&lt;BR&gt;                                        Else&lt;BR&gt;                                            ReDim a_RecipientsBCC(0)&lt;BR&gt;                                        End If&lt;BR&gt;                                    End If&lt;BR&gt;                                End If&lt;BR&gt;                            Next&lt;BR&gt;&lt;BR&gt;                        End If&lt;BR&gt;&lt;BR&gt;                        ' Check for recipient email&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;                            Exit For&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        If InStr(s_Val, "ATTACHMENTEXTRACT,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            ' Now get the directory entry for the attachments&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                ' Check for attachment&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__ATTACH_VERSION1.0_#") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                    ReDim Preserve a_Attachments(MyArrayLen(a_Attachments, 1) + 1)&lt;BR&gt;                    ReDim Preserve a_Attachments2(MyArrayLen(a_Attachments2, 1) + 1)&lt;BR&gt;&lt;BR&gt;                    ' Get attachment name&lt;BR&gt;                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;                        ' Check for attachment name&lt;BR&gt;                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") &gt; 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            Exit For&lt;BR&gt;&lt;BR&gt;                        ElseIf InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3701") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;&lt;BR&gt;                                s_Temp = o_FSO.GetSpecialFolder(2) &amp; o_FSO.GetTempName&lt;BR&gt;                                o_File = o_FSO.CreateTextFile(s_Temp, True, False)&lt;BR&gt;                                o_File.Write(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat))&lt;BR&gt;                                a_Attachments(MyArrayLen(a_Attachments, 1) - 1) = s_Temp&lt;BR&gt;                                o_File.Close()&lt;BR&gt;&lt;BR&gt;                            Else&lt;BR&gt;&lt;BR&gt;                                a_Attachments(MyArrayLen(a_Attachments, 1) - 1) = MyLongSectorReader("FILE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                        ElseIf InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3704") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                a_Attachments2(MyArrayLen(a_Attachments2, 1) - 1) = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                a_Attachments2(MyArrayLen(a_Attachments2, 1) - 1) = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;&lt;BR&gt;                        ElseIf InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3707") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                            ' Check if in short stream&lt;BR&gt;                            If a_Dir(7, M_Y) &lt; s_MinStream Then&lt;BR&gt;                                a_Attachments2(MyArrayLen(a_Attachments2, 1) - 1) = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")&lt;BR&gt;                            Else&lt;BR&gt;                                a_Attachments2(MyArrayLen(a_Attachments2, 1) - 1) = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)&lt;BR&gt;                            End If&lt;BR&gt;                        End If&lt;BR&gt;                    Next&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;            ' At this stage we have temporary filenames and an array of names&lt;BR&gt;            ' We now need to:&lt;BR&gt;            ' - Check for existing files&lt;BR&gt;            ' - Rename the temporary files to the new names&lt;BR&gt;&lt;BR&gt;            ' Delete files in temporary folder&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Attachments2, 1) - 1&lt;BR&gt;&lt;BR&gt;                ' Check for existing files&lt;BR&gt;                If o_FSO.FileExists(o_FSO.GetSpecialFolder(2) &amp; "\" &amp; a_Attachments2(M_X)) Then&lt;BR&gt;&lt;BR&gt;                    On Error Resume Next&lt;BR&gt;                    o_FSO.DeleteFile(o_FSO.GetSpecialFolder(2) &amp; "\" &amp; a_Attachments2(M_X))&lt;BR&gt;                    On Error GoTo 0&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;            ' Now rename attachments&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Attachments2, 1) - 1&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;                ' Check for existing files&lt;BR&gt;                If o_FSO.FileExists(o_FSO.GetSpecialFolder(2) &amp; "\" &amp; a_Attachments2(M_X)) Then&lt;BR&gt;&lt;BR&gt;                    M_Y = 1&lt;BR&gt;                    Do While o_FSO.FileExists(o_FSO.GetSpecialFolder(2) &amp; "\" &amp; M_Y &amp; a_Attachments2(M_X))&lt;BR&gt;                        M_Y = M_Y + 1&lt;BR&gt;                    Loop&lt;BR&gt;&lt;BR&gt;                    o_FSO.MoveFile(a_Attachments(M_X), o_FSO.GetSpecialFolder(2) &amp; "\" &amp; M_Y &amp; a_Attachments2(M_X))&lt;BR&gt;                    a_Attachments(M_X) = o_FSO.GetSpecialFolder(2) &amp; "\" &amp; M_Y &amp; a_Attachments2(M_X)&lt;BR&gt;&lt;BR&gt;                Else&lt;BR&gt;&lt;BR&gt;                    o_FSO.MoveFile(a_Attachments(M_X), o_FSO.GetSpecialFolder(2) &amp; "\" &amp; a_Attachments2(M_X))&lt;BR&gt;                    a_Attachments(M_X) = o_FSO.GetSpecialFolder(2) &amp; "\" &amp; a_Attachments2(M_X)&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            Next&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        ' The date sent&lt;BR&gt;        If InStr(s_Val, "DATESENT,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            s_Temp = ""&lt;BR&gt;            ' Now get the directory entry for the first properties&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__PROPERTIES_VERSION1.0") &gt; 0 And a_Dir(7, M_X) &gt; 0 Then&lt;BR&gt;                    ' Check if in short stream&lt;BR&gt;                    If a_Dir(7, M_X) &lt; s_MinStream Then&lt;BR&gt;                        s_Temp = MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat)&lt;BR&gt;                        Exit For&lt;BR&gt;                    Else&lt;BR&gt;                        s_Temp = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)&lt;BR&gt;                        Exit For&lt;BR&gt;                    End If&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;            ' Now we've got the properties lets read them&lt;BR&gt;            For M_X = 1 To Len(s_Temp) Step 16&lt;BR&gt;                If Mid(s_Temp, M_X, 4) = MyHexToHexCoded("40003900") Then&lt;BR&gt;                    s_DateSent = MyGregorianDate(MyVBNumber(Mid(s_Temp, M_X + 8, 8)))&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        ' The date received&lt;BR&gt;        If InStr(s_Val, "DATERECEIVED,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            s_Temp = ""&lt;BR&gt;            ' Now get the directory entry for the first properties&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__PROPERTIES_VERSION1.0") &gt; 0 And a_Dir(7, M_X) &gt; 0 Then&lt;BR&gt;                    ' Check if in short stream&lt;BR&gt;                    If a_Dir(7, M_X) &lt; s_MinStream Then&lt;BR&gt;                        s_Temp = MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat)&lt;BR&gt;                        Exit For&lt;BR&gt;                    Else&lt;BR&gt;                        s_Temp = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)&lt;BR&gt;                        Exit For&lt;BR&gt;                    End If&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;            ' Now we've got the properties lets read them&lt;BR&gt;            s_DateReceived = ""&lt;BR&gt;            For M_X = 1 To Len(s_Temp) Step 16&lt;BR&gt;                If Mid(s_Temp, M_X, 4) = MyHexToHexCoded("4000060E") Then&lt;BR&gt;                    s_DateReceived = MyGregorianDate(MyVBNumber(Mid(s_Temp, M_X + 8, 8)))&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;        ' The date reply requested&lt;BR&gt;        If InStr(s_Val, "DATEREPLY,") &gt; 0 Then&lt;BR&gt;&lt;BR&gt;            s_Temp = ""&lt;BR&gt;            ' Now get the directory entry for the first properties&lt;BR&gt;            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;                If InStr(UCase(a_Dir(1, M_X)), "__PROPERTIES_VERSION1.0") &gt; 0 And a_Dir(7, M_X) &gt; 0 Then&lt;BR&gt;                    ' Check if in short stream&lt;BR&gt;                    If a_Dir(7, M_X) &lt; s_MinStream Then&lt;BR&gt;                        s_Temp = MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat)&lt;BR&gt;                        Exit For&lt;BR&gt;                    Else&lt;BR&gt;                        s_Temp = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)&lt;BR&gt;                        Exit For&lt;BR&gt;                    End If&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;            ' Now we've got the properties lets read them&lt;BR&gt;            s_DateReply = ""&lt;BR&gt;            For M_X = 1 To Len(s_Temp) Step 16&lt;BR&gt;                If Mid(s_Temp, M_X, 4) = MyHexToHexCoded("40003000") Then&lt;BR&gt;                    s_DateReply = MyGregorianDate(MyVBNumber(Mid(s_Temp, M_X + 8, 8)))&lt;BR&gt;                End If&lt;BR&gt;            Next&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        ' Build the return string by checking what was asked for&lt;BR&gt;        a_Val = Split(s_Val, ",")&lt;BR&gt;        s_Return = ""&lt;BR&gt;        For M_X = 0 To MyArrayLen(a_Val, 1) - 1&lt;BR&gt;&lt;BR&gt;            If Len(Trim(a_Val(M_X))) &lt;&gt; 0 Then&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "SUBJECT" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        If Len(s_Subject) &gt; 0 Then&lt;BR&gt;                            s_Return = s_Return &amp; s_Subject&lt;BR&gt;                        Else&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^" &amp; s_Subject&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "MESSAGEID" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        If Len(s_MessageID) &gt; 0 Then&lt;BR&gt;                            s_Return = s_Return &amp; s_MessageID&lt;BR&gt;                        Else&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^" &amp; s_MessageID&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "FROM" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        If Len(s_From) &gt; 0 Then&lt;BR&gt;                            s_Return = s_Return &amp; s_From&lt;BR&gt;                        Else&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^" &amp; s_From&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "PREFIX" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        If Len(s_Prefix) &gt; 0 Then&lt;BR&gt;                            s_Return = s_Return &amp; s_Prefix&lt;BR&gt;                        Else&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^" &amp; s_Prefix&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "BODY" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        If Len(s_Body) &gt; 0 Then&lt;BR&gt;                            s_Return = s_Return &amp; s_Body&lt;BR&gt;                        Else&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^" &amp; s_Body&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "ATTACHMENTNUMBERS" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        If Len(s_AttachNums) &gt; 0 Then&lt;BR&gt;                            s_Return = s_AttachNums&lt;BR&gt;                        Else&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^" &amp; s_AttachNums&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "ATTACHMENTNAMES" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        For M_Y = 0 To MyArrayLen(a_AttachNames, 1) - 1&lt;BR&gt;                            s_Return = s_Return &amp; a_AttachNames(M_Y) &amp; "|"&lt;BR&gt;                        Next&lt;BR&gt;                        If Len(s_Return) = 0 Then&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^"&lt;BR&gt;                        For M_Y = 0 To MyArrayLen(a_AttachNames, 1) - 1&lt;BR&gt;                            s_Return = s_Return &amp; a_AttachNames(M_Y) &amp; "|"&lt;BR&gt;                        Next&lt;BR&gt;                    End If&lt;BR&gt;                    If Right(s_Return, 1) = "|" Then&lt;BR&gt;                        s_Return = Left(s_Return, Len(s_Return) - 1)&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "RECIPIENTS" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        For M_Y = 0 To MyArrayLen(a_Recipients, 1) - 1&lt;BR&gt;                            s_Return = s_Return &amp; a_Recipients(M_Y) &amp; "|"&lt;BR&gt;                        Next&lt;BR&gt;                        If Len(s_Return) = 0 Then&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^"&lt;BR&gt;                        For M_Y = 0 To MyArrayLen(a_Recipients, 1) - 1&lt;BR&gt;                            s_Return = s_Return &amp; a_Recipients(M_Y) &amp; "|"&lt;BR&gt;                        Next&lt;BR&gt;                    End If&lt;BR&gt;                    If Right(s_Return, 1) = "|" Then&lt;BR&gt;                        s_Return = Left(s_Return, Len(s_Return) - 1)&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "RECIPIENTSTO" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        For M_Y = 0 To MyArrayLen(a_RecipientsTo, 1) - 1&lt;BR&gt;                            s_Return = s_Return &amp; a_RecipientsTo(M_Y) &amp; "|"&lt;BR&gt;                        Next&lt;BR&gt;                        If Len(s_Return) = 0 Then&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^"&lt;BR&gt;                        For M_Y = 0 To MyArrayLen(a_RecipientsTo, 1) - 1&lt;BR&gt;                            s_Return = s_Return &amp; a_RecipientsTo(M_Y) &amp; "|"&lt;BR&gt;                        Next&lt;BR&gt;                    End If&lt;BR&gt;                    If Right(s_Return, 1) = "|" Then&lt;BR&gt;                        s_Return = Left(s_Return, Len(s_Return) - 1)&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "RECIPIENTSCC" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        For M_Y = 0 To MyArrayLen(a_RecipientsCC, 1) - 1&lt;BR&gt;                            s_Return = s_Return &amp; a_RecipientsCC(M_Y) &amp; "|"&lt;BR&gt;                        Next&lt;BR&gt;                        If Len(s_Return) = 0 Then&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^"&lt;BR&gt;                        For M_Y = 0 To MyArrayLen(a_RecipientsCC, 1) - 1&lt;BR&gt;                            s_Return = s_Return &amp; a_RecipientsCC(M_Y) &amp; "|"&lt;BR&gt;                        Next&lt;BR&gt;                    End If&lt;BR&gt;                    If Right(s_Return, 1) = "|" Then&lt;BR&gt;                        s_Return = Left(s_Return, Len(s_Return) - 1)&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "RECIPIENTSBCC" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        For M_Y = 0 To MyArrayLen(a_RecipientsBCC, 1) - 1&lt;BR&gt;                            s_Return = s_Return &amp; a_RecipientsBCC(M_Y) &amp; "|"&lt;BR&gt;                        Next&lt;BR&gt;                        If Len(s_Return) = 0 Then&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^"&lt;BR&gt;                        For M_Y = 0 To MyArrayLen(a_RecipientsBCC, 1) - 1&lt;BR&gt;                            s_Return = s_Return &amp; a_RecipientsBCC(M_Y) &amp; "|"&lt;BR&gt;                        Next&lt;BR&gt;                    End If&lt;BR&gt;                    If Right(s_Return, 1) = "|" Then&lt;BR&gt;                        s_Return = Left(s_Return, Len(s_Return) - 1)&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "ATTACHMENTEXTRACT" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        For M_Y = 0 To MyArrayLen(a_Attachments, 1) - 1&lt;BR&gt;                            s_Return = s_Return &amp; a_Attachments(M_Y) &amp; "|"&lt;BR&gt;                        Next&lt;BR&gt;                        If Len(s_Return) = 0 Then&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^"&lt;BR&gt;                        For M_Y = 0 To MyArrayLen(a_Attachments, 1) - 1&lt;BR&gt;                            s_Return = s_Return &amp; a_Attachments(M_Y) &amp; "|"&lt;BR&gt;                        Next&lt;BR&gt;                    End If&lt;BR&gt;                    If Right(s_Return, 1) = "|" Then&lt;BR&gt;                        s_Return = Left(s_Return, Len(s_Return) - 1)&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "DATESENT" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        s_Return = s_DateSent&lt;BR&gt;                        If Len(s_Return) = 0 Then&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^" &amp; s_DateSent&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "DATERECEIVED" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        s_Return = s_DateReceived&lt;BR&gt;                        If Len(s_Return) = 0 Then&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^" &amp; s_DateReceived&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "DATEREPLY" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        s_Return = s_DateReply&lt;BR&gt;                        If Len(s_Return) = 0 Then&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^" &amp; s_DateReply&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If UCase(Trim(a_Val(M_X))) = "REPLYTYPE" Then&lt;BR&gt;                    If s_Return = "" Then&lt;BR&gt;                        s_Return = s_ReplyType&lt;BR&gt;                        If Len(s_Return) = 0 Then&lt;BR&gt;                            s_Return = " "&lt;BR&gt;                        End If&lt;BR&gt;                    Else&lt;BR&gt;                        s_Return = s_Return &amp; "^" &amp; s_ReplyType&lt;BR&gt;                    End If&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            End If&lt;BR&gt;        Next&lt;BR&gt;&lt;BR&gt;        MsgGet = s_Return&lt;BR&gt;&lt;BR&gt;        o_File = Nothing&lt;BR&gt;        o_FSO = Nothing&lt;BR&gt;    End Function&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;    Function MyHexToHexCoded(ByVal s_String)&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        ' Description : Takes a string such as "D0CF" and returns a HEX string which can be&lt;BR&gt;        '               compared with characters read from a file&lt;BR&gt;        ' Created     : 24/12/2005&lt;BR&gt;        ' Version     : 1.0&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        Dim M_X&lt;BR&gt;        Dim s_Temp&lt;BR&gt;&lt;BR&gt;        s_Temp = ""&lt;BR&gt;        For M_X = 1 To Len(s_String) Step 2&lt;BR&gt;            s_Temp = s_Temp &amp; Chr(CLng("&amp;H" &amp; Mid(s_String, M_X, 2)))&lt;BR&gt;        Next&lt;BR&gt;        MyHexToHexCoded = s_Temp&lt;BR&gt;    End Function&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;    Function MyVBNumber(ByVal s_String)&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        ' Description : Takes chars read from file and converts to number&lt;BR&gt;        ' Created     : 24/12/2005&lt;BR&gt;        ' Version     : 1.0&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;&lt;BR&gt;        MyVBNumber = 0&lt;BR&gt;        If Len(s_String) = 1 Then&lt;BR&gt;            If Asc(Mid(s_String, 1, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -1&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 254 Then&lt;BR&gt;                MyVBNumber = -1&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 253 Then&lt;BR&gt;                MyVBNumber = -2&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 252 Then&lt;BR&gt;                MyVBNumber = -3&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 251 Then&lt;BR&gt;                MyVBNumber = -4&lt;BR&gt;            Else&lt;BR&gt;                MyVBNumber = Asc(Mid(s_String, 1, 1))&lt;BR&gt;            End If&lt;BR&gt;        ElseIf Len(s_String) = 2 Then&lt;BR&gt;            If Asc(Mid(s_String, 1, 1)) = 255 And Asc(Mid(s_String, 2, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -1&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 254 And Asc(Mid(s_String, 2, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -1&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 253 And Asc(Mid(s_String, 2, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -2&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 252 And Asc(Mid(s_String, 2, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -3&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 251 And Asc(Mid(s_String, 2, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -4&lt;BR&gt;            Else&lt;BR&gt;                MyVBNumber = Asc(Mid(s_String, 1, 1)) + Asc(Mid(s_String, 2, 1)) * 256&lt;BR&gt;            End If&lt;BR&gt;        ElseIf Len(s_String) = 4 Then&lt;BR&gt;            If Asc(Mid(s_String, 1, 1)) = 255 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -1&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 254 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -1&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 253 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -2&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 252 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -3&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 251 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -4&lt;BR&gt;            Else&lt;BR&gt;                MyVBNumber = Asc(Mid(s_String, 1, 1)) + Asc(Mid(s_String, 2, 1)) * 256 + Asc(Mid(s_String, 3, 1)) * 65536 + Asc(Mid(s_String, 4, 1)) * 16777216&lt;BR&gt;            End If&lt;BR&gt;        ElseIf Len(s_String) = 8 Then&lt;BR&gt;            If Asc(Mid(s_String, 1, 1)) = 255 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 And Asc(Mid(s_String, 5, 1)) = 255 And Asc(Mid(s_String, 6, 1)) = 255 And Asc(Mid(s_String, 7, 1)) = 255 And Asc(Mid(s_String, 8, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -1&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 254 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 And Asc(Mid(s_String, 5, 1)) = 255 And Asc(Mid(s_String, 6, 1)) = 255 And Asc(Mid(s_String, 7, 1)) = 255 And Asc(Mid(s_String, 8, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -1&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 253 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 And Asc(Mid(s_String, 5, 1)) = 255 And Asc(Mid(s_String, 6, 1)) = 255 And Asc(Mid(s_String, 7, 1)) = 255 And Asc(Mid(s_String, 8, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -2&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 252 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 And Asc(Mid(s_String, 5, 1)) = 255 And Asc(Mid(s_String, 6, 1)) = 255 And Asc(Mid(s_String, 7, 1)) = 255 And Asc(Mid(s_String, 8, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -3&lt;BR&gt;            ElseIf Asc(Mid(s_String, 1, 1)) = 251 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 And Asc(Mid(s_String, 5, 1)) = 255 And Asc(Mid(s_String, 6, 1)) = 255 And Asc(Mid(s_String, 7, 1)) = 255 And Asc(Mid(s_String, 8, 1)) = 255 Then&lt;BR&gt;                MyVBNumber = -4&lt;BR&gt;            Else&lt;BR&gt;                MyVBNumber = Asc(Mid(s_String, 1, 1)) + Asc(Mid(s_String, 2, 1)) * 256 + Asc(Mid(s_String, 3, 1)) * 65536 + Asc(Mid(s_String, 4, 1)) * 16777216 + Asc(Mid(s_String, 5, 1)) * 4294967296 + Asc(Mid(s_String, 6, 1)) * 1099511627776 + Asc(Mid(s_String, 7, 1)) * 281474976710656 + Asc(Mid(s_String, 8, 1)) * 72057594037927900&lt;BR&gt;            End If&lt;BR&gt;        End If&lt;BR&gt;    End Function&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;    Function MyArrayLen(ByVal MyArray, ByVal MyDim)&lt;BR&gt;        ' *****************************************************************************&lt;BR&gt;        ' Function    : MyArrayLen&lt;BR&gt;        ' Arguments   : &lt;MyArray&gt; Array to get length of&lt;BR&gt;        '               &lt;MyDim&gt;   Dimension of array to test&lt;BR&gt;        ' Returns     : Length of array&lt;BR&gt;        ' Description : Returns the length of an array even if it is null or not&lt;BR&gt;        '               defined. UBound does not work on some types of variant array&lt;BR&gt;        '               so discovered best to use For Each when dimension 1 and UBound&lt;BR&gt;        '               for other dimensions.&lt;BR&gt;        ' Created     : 20/10/2001 S Currie&lt;BR&gt;        ' *****************************************************************************&lt;BR&gt;        Dim MyLength&lt;BR&gt;        MyLength = 0&lt;BR&gt;        On Error Resume Next&lt;BR&gt;        MyLength = UBound(MyArray, MyDim)&lt;BR&gt;        If MyLength &lt; 0 Then&lt;BR&gt;            MyLength = 0&lt;BR&gt;        End If&lt;BR&gt;        MyArrayLen = MyLength&lt;BR&gt;    End Function&lt;BR&gt;&lt;BR&gt;    Function MySectorReader(ByVal s_SectSize, ByVal s_SID, ByVal s_FileName)&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        ' Description : Reads a number of characters from a particular sector in a file&lt;BR&gt;        ' Arguments   : &lt;s_SectSize&gt;     The size of the sectors to be read&lt;BR&gt;        '               &lt;s_SID&gt;          The particluar sector to be read&lt;BR&gt;        '               &lt;s_FileName&gt;     The filename which they are to be read from&lt;BR&gt;        ' Created     : 30/12/2005&lt;BR&gt;        ' Version     : 1.0&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        Dim o_FSO&lt;BR&gt;        Dim o_File&lt;BR&gt;&lt;BR&gt;        ' Create object and get the file&lt;BR&gt;        o_FSO = My.Computer.FileSystem&lt;BR&gt;&lt;BR&gt;        If Not o_FSO.FileExists(s_FileName) Then&lt;BR&gt;            MySectorReader = ""&lt;BR&gt;            Exit Function&lt;BR&gt;        End If&lt;BR&gt;        If UCase(Right(s_FileName, 4)) &lt;&gt; ".MSG" Then&lt;BR&gt;            MySectorReader = ""&lt;BR&gt;            Exit Function&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        o_File = o_FSO.OpenTextFile(s_FileName, 1, -1)&lt;BR&gt;&lt;BR&gt;        ' Now read up to the sector&lt;BR&gt;        o_File.Skip((s_SID * s_SectSize) + s_SectSize)&lt;BR&gt;&lt;BR&gt;        ' Now read the sector itself&lt;BR&gt;        On Error Resume Next&lt;BR&gt;        MySectorReader = o_File.Read(s_SectSize)&lt;BR&gt;&lt;BR&gt;        o_File.Close()&lt;BR&gt;        o_File = Nothing&lt;BR&gt;        o_FSO = Nothing&lt;BR&gt;&lt;BR&gt;    End Function&lt;BR&gt;&lt;BR&gt;    Function MyShortSectorReader(ByVal s_ShortSectSize, ByVal s_SID, ByVal s_Size, ByVal a_SSAT, ByVal s_ShortSat)&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        ' Description : Reads a number of characters from the short sector container which&lt;BR&gt;        '               is held in the memory variable s_ShortSat. The a_SSAT is a directory&lt;BR&gt;        '               array which tell you how to access the s_ShortSat&lt;BR&gt;        ' Arguments   : &lt;s_ShortSectSize&gt;     The size of the sectors to be read&lt;BR&gt;        '               &lt;s_SID&gt;               The particluar sector to be read within s_ShortSat&lt;BR&gt;        '               &lt;s_Size&gt;              The size of the value to return&lt;BR&gt;        '               &lt;a_SSAT&gt;              The array which contains the details of how to&lt;BR&gt;        '                                     access the s_ShortSat&lt;BR&gt;        '               &lt;s_ShortSat&gt;          This is the short container stream read from&lt;BR&gt;        '                                     the file&lt;BR&gt;        ' Created     : 31/12/2005&lt;BR&gt;        ' Version     : 1.0&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        Dim M_Y&lt;BR&gt;        Dim s_Temp&lt;BR&gt;&lt;BR&gt;        M_Y = s_SID&lt;BR&gt;        s_Temp = Mid(s_ShortSat, s_SID * s_ShortSectSize + 1, s_ShortSectSize)&lt;BR&gt;&lt;BR&gt;        Do While True&lt;BR&gt;            M_Y = a_SSAT(M_Y)&lt;BR&gt;            If M_Y &gt; 0 Then&lt;BR&gt;                s_Temp = s_Temp &amp; Mid(s_ShortSat, M_Y * s_ShortSectSize + 1, s_ShortSectSize)&lt;BR&gt;            End If&lt;BR&gt;            If Len(s_Temp) &gt;= s_Size Then&lt;BR&gt;                Exit Do&lt;BR&gt;            End If&lt;BR&gt;        Loop&lt;BR&gt;        MyShortSectorReader = Mid(s_Temp, 1, s_Size)&lt;BR&gt;    End Function&lt;BR&gt;&lt;BR&gt;    Function MyLongSectorReader(ByVal s_ReturnType, ByVal s_SectSize, ByVal s_SID, ByVal s_Size, ByVal s_FileName, ByVal s_SAT)&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        ' Description : Reads a number of characters from the short sector container which&lt;BR&gt;        '               is held in the memory variable s_ShortSat. The a_SSAT is a directory&lt;BR&gt;        '               array which tell you how to access the s_ShortSat&lt;BR&gt;        ' Arguments   : &lt;&lt;BR&gt;        '               &lt;s_SectSize&gt;          The size of the sectors to be read&lt;BR&gt;        '               &lt;s_SID&gt;               The particluar sector to be read within s_ShortSat&lt;BR&gt;        '               &lt;s_Size&gt;              The size of the value to return&lt;BR&gt;        '               &lt;a_SSAT&gt;              The array which contains the details of how to&lt;BR&gt;        '                                     access the s_ShortSat&lt;BR&gt;        '               &lt;s_ShortSat&gt;          This is the short container stream read from&lt;BR&gt;        '                                     the file&lt;BR&gt;        ' Created     : 31/12/2005&lt;BR&gt;        ' Version     : 1.0&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        Dim M_Y&lt;BR&gt;        Dim s_Temp = Nothing&lt;BR&gt;        Dim o_FSO&lt;BR&gt;        Dim o_File&lt;BR&gt;        Dim M_X&lt;BR&gt;        Dim s_Start&lt;BR&gt;        Dim s_Previous&lt;BR&gt;        Dim s_Sects&lt;BR&gt;&lt;BR&gt;        M_X = s_Size&lt;BR&gt;        MyLongSectorReader = ""&lt;BR&gt;        If s_ReturnType = "FILE" Then&lt;BR&gt;&lt;BR&gt;            ' Create object and the file&lt;BR&gt;            o_FSO = My.Computer.FileSystem&lt;BR&gt;&lt;BR&gt;            s_Temp = o_FSO.GetSpecialFolder(2) &amp; "\" &amp; o_FSO.GetTempName&lt;BR&gt;            o_File = o_FSO.CreateTextFile(s_Temp, True, False)&lt;BR&gt;&lt;BR&gt;            M_Y = s_SID&lt;BR&gt;            o_File.Write(MySectorReader(s_SectSize, M_Y, s_FileName))&lt;BR&gt;            M_X = M_X - s_SectSize&lt;BR&gt;&lt;BR&gt;            s_Previous = -99&lt;BR&gt;            s_Sects = 0&lt;BR&gt;            s_Start = 0&lt;BR&gt;            Do While True&lt;BR&gt;&lt;BR&gt;                M_Y = MyVBNumber(Mid(s_SAT, (M_Y * 4) + 1, 4))&lt;BR&gt;&lt;BR&gt;                If s_Previous = M_Y - 1 Then&lt;BR&gt;&lt;BR&gt;                    s_Previous = M_Y&lt;BR&gt;                    s_Sects = s_Sects + 1&lt;BR&gt;&lt;BR&gt;                ElseIf s_Previous &lt;&gt; M_Y - 1 Then&lt;BR&gt;&lt;BR&gt;                    If s_Sects &gt; 0 Then&lt;BR&gt;&lt;BR&gt;                        M_X = M_X - (s_SectSize * s_Sects)&lt;BR&gt;                        o_File.Write(MyMultiSectorReader(s_SectSize, s_Start, s_FileName, s_Sects))&lt;BR&gt;&lt;BR&gt;                    End If&lt;BR&gt;&lt;BR&gt;                    s_Previous = M_Y&lt;BR&gt;                    s_Sects = 1&lt;BR&gt;                    s_Start = M_Y&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If M_X &lt;= 0 Then&lt;BR&gt;                    Exit Do&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            Loop&lt;BR&gt;&lt;BR&gt;            o_File.Close()&lt;BR&gt;&lt;BR&gt;        ElseIf s_ReturnType = "VARIABLE" Then&lt;BR&gt;&lt;BR&gt;            M_Y = s_SID&lt;BR&gt;            s_Temp = MySectorReader(s_SectSize, M_Y, s_FileName)&lt;BR&gt;&lt;BR&gt;            Do While True&lt;BR&gt;&lt;BR&gt;                M_Y = MyVBNumber(Mid(s_SAT, (M_Y * 4) + 1, 4))&lt;BR&gt;                If M_Y &gt; 0 Then&lt;BR&gt;                    s_Temp = s_Temp &amp; MySectorReader(s_SectSize, M_Y, s_FileName)&lt;BR&gt;                End If&lt;BR&gt;                If Len(s_Temp) &gt;= s_Size Then&lt;BR&gt;                    Exit Do&lt;BR&gt;                End If&lt;BR&gt;            Loop&lt;BR&gt;&lt;BR&gt;            s_Temp = Mid(s_Temp, 1, s_Size)&lt;BR&gt;&lt;BR&gt;        End If&lt;BR&gt;        MyLongSectorReader = s_Temp&lt;BR&gt;    End Function&lt;BR&gt;&lt;BR&gt;    Function MyMultiSectorReader(ByVal s_SectSize, ByVal s_SID, ByVal s_FileName, ByVal s_Number)&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        ' Description : Reads a number of characters from a particular sector in a file&lt;BR&gt;        ' Arguments   : &lt;s_SectSize&gt;     The size of the sectors to be read&lt;BR&gt;        '               &lt;s_SID&gt;          The particluar sector to be read&lt;BR&gt;        '               &lt;s_FileName&gt;     The filename which they are to be read from&lt;BR&gt;        '               &lt;s_Number&gt;       The number of sectors to read&lt;BR&gt;        ' Created     : 01/01/2006&lt;BR&gt;        ' Version     : 1.0&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        Dim o_FSO&lt;BR&gt;        Dim o_File&lt;BR&gt;&lt;BR&gt;        ' Create object and get the file&lt;BR&gt;        o_FSO = My.Computer.FileSystem&lt;BR&gt;&lt;BR&gt;        If Not o_FSO.FileExists(s_FileName) Then&lt;BR&gt;            MyMultiSectorReader = ""&lt;BR&gt;            Exit Function&lt;BR&gt;        End If&lt;BR&gt;        If UCase(Right(s_FileName, 4)) &lt;&gt; ".MSG" Then&lt;BR&gt;            MyMultiSectorReader = ""&lt;BR&gt;            Exit Function&lt;BR&gt;        End If&lt;BR&gt;&lt;BR&gt;        o_File = o_FSO.OpenTextFile(s_FileName, 1, -1)&lt;BR&gt;&lt;BR&gt;        ' Now read up to the sector&lt;BR&gt;        o_File.Skip((s_SID * s_SectSize) + s_SectSize)&lt;BR&gt;&lt;BR&gt;        ' Now read the sector itself&lt;BR&gt;        On Error Resume Next&lt;BR&gt;        MyMultiSectorReader = o_File.Read(s_SectSize * s_Number)&lt;BR&gt;&lt;BR&gt;        o_File.Close()&lt;BR&gt;        o_File = Nothing&lt;BR&gt;        o_FSO = Nothing&lt;BR&gt;    End Function&lt;BR&gt;&lt;BR&gt;    Function MyGregorianDate(ByVal l_Val)&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        ' Description : Returns a date from a property tag in Outlook properties&lt;BR&gt;        ' Arguments   : &lt;l_Val&gt;     The VB number to convert&lt;BR&gt;        ' Created     : 03/02/2007&lt;BR&gt;        ' Version     : 1.0&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        Dim l_FracSecs&lt;BR&gt;        Dim l_RemSecs&lt;BR&gt;        Dim l_Secs&lt;BR&gt;        Dim l_RemMins&lt;BR&gt;        Dim l_Mins&lt;BR&gt;        Dim l_RemHours&lt;BR&gt;        Dim l_Hours&lt;BR&gt;        Dim l_RemDays&lt;BR&gt;        Dim l_Year&lt;BR&gt;        Dim l_RemDays2&lt;BR&gt;&lt;BR&gt;        l_FracSecs = ((l_Val / 10000000) - Int(l_Val / 10000000)) * 10000000&lt;BR&gt;        l_RemSecs = l_Val / 10000000&lt;BR&gt;        l_Secs = Math.Round(((l_RemSecs / 60) - Int(l_RemSecs / 60)) * 60, 0)&lt;BR&gt;        l_RemMins = Int(l_RemSecs / 60)&lt;BR&gt;        l_Mins = Math.Round(((l_RemMins / 60) - Int(l_RemMins / 60)) * 60, 0)&lt;BR&gt;        l_RemHours = Int(l_RemMins / 60)&lt;BR&gt;        l_Hours = Math.Round(((l_RemHours / 24) - Int(l_RemHours / 24)) * 24, 0)&lt;BR&gt;        l_RemDays = Int(l_RemHours / 24)&lt;BR&gt;        l_Year = 1601 + Int(l_RemDays / 365)&lt;BR&gt;        'l_RemDays2 = 109572 + DateSerial(l_Year, 1, 1) - DateSerial(1901, 1, 1)&lt;BR&gt;        'MyGregorianDate = DateAdd("d", l_RemDays - l_RemDays2, "01/01/" &amp; l_Year)&lt;BR&gt;        'MyGregorianDate = DateAdd("h", l_Hours, MyGregorianDate)&lt;BR&gt;        'MyGregorianDate = DateAdd("n", l_Mins, MyGregorianDate)&lt;BR&gt;        'MyGregorianDate = DateAdd("s", l_Secs, MyGregorianDate)&lt;BR&gt;&lt;BR&gt;        If Year(MyGregorianDate) &lt; 1902 Then&lt;BR&gt;            MyGregorianDate = ""&lt;BR&gt;        End If&lt;BR&gt;    End Function&lt;BR&gt;&lt;BR&gt;    Function MySubRead(ByVal l_Left, ByVal l_Right, ByVal a_Dir, ByVal a_Temp)&lt;BR&gt;        MySubRead = Nothing&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        ' Description : Reads a directory structure backwards and forwards&lt;BR&gt;        ' Arguments   : &lt;l_Val&gt;     The directory entry&lt;BR&gt;        ' Created     : 23/02/2007&lt;BR&gt;        ' Version     : 1.0&lt;BR&gt;        ' **********************************************************************************&lt;BR&gt;        Dim M_X&lt;BR&gt;&lt;BR&gt;        For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;            If a_Dir(0, M_X) = l_Left Then&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;                If a_Dir(3, M_X) &lt;&gt; -1 Then&lt;BR&gt;                    MySubRead(a_Dir(3, M_X), -1, a_Dir, a_Temp)&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If a_Dir(5, M_X) = -1 Then&lt;BR&gt;&lt;BR&gt;                    ' Add to final array&lt;BR&gt;                    ReDim Preserve a_Temp(8, MyArrayLen(a_Temp, 2) + 1)&lt;BR&gt;&lt;BR&gt;                    a_Temp(0, MyArrayLen(a_Temp, 2) - 1) = a_Dir(0, M_X)&lt;BR&gt;                    a_Temp(1, MyArrayLen(a_Temp, 2) - 1) = a_Dir(1, M_X)&lt;BR&gt;                    a_Temp(2, MyArrayLen(a_Temp, 2) - 1) = a_Dir(2, M_X)&lt;BR&gt;                    a_Temp(3, MyArrayLen(a_Temp, 2) - 1) = a_Dir(3, M_X)&lt;BR&gt;                    a_Temp(4, MyArrayLen(a_Temp, 2) - 1) = a_Dir(4, M_X)&lt;BR&gt;                    a_Temp(5, MyArrayLen(a_Temp, 2) - 1) = a_Dir(5, M_X)&lt;BR&gt;                    a_Temp(6, MyArrayLen(a_Temp, 2) - 1) = a_Dir(6, M_X)&lt;BR&gt;                    a_Temp(7, MyArrayLen(a_Temp, 2) - 1) = a_Dir(7, M_X)&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            End If&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;        Next&lt;BR&gt;&lt;BR&gt;        For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;            If a_Dir(0, M_X) = l_Left Then&lt;BR&gt;&lt;BR&gt;                If a_Dir(4, M_X) &lt;&gt; -1 Then&lt;BR&gt;                    MySubRead(-1, a_Dir(4, M_X), a_Dir, a_Temp)&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            End If&lt;BR&gt;&lt;BR&gt;        Next&lt;BR&gt;&lt;BR&gt;        For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;            If a_Dir(0, M_X) = l_Right Then&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;                If a_Dir(3, M_X) &lt;&gt; -1 Then&lt;BR&gt;                    MySubRead(a_Dir(3, M_X), -1, a_Dir, a_Temp)&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;                If a_Dir(5, M_X) = -1 Then&lt;BR&gt;                    ' Add to final array&lt;BR&gt;                    ReDim Preserve a_Temp(8, MyArrayLen(a_Temp, 2) + 1)&lt;BR&gt;&lt;BR&gt;                    a_Temp(0, MyArrayLen(a_Temp, 2) - 1) = a_Dir(0, M_X)&lt;BR&gt;                    a_Temp(1, MyArrayLen(a_Temp, 2) - 1) = a_Dir(1, M_X)&lt;BR&gt;                    a_Temp(2, MyArrayLen(a_Temp, 2) - 1) = a_Dir(2, M_X)&lt;BR&gt;                    a_Temp(3, MyArrayLen(a_Temp, 2) - 1) = a_Dir(3, M_X)&lt;BR&gt;                    a_Temp(4, MyArrayLen(a_Temp, 2) - 1) = a_Dir(4, M_X)&lt;BR&gt;                    a_Temp(5, MyArrayLen(a_Temp, 2) - 1) = a_Dir(5, M_X)&lt;BR&gt;                    a_Temp(6, MyArrayLen(a_Temp, 2) - 1) = a_Dir(6, M_X)&lt;BR&gt;                    a_Temp(7, MyArrayLen(a_Temp, 2) - 1) = a_Dir(7, M_X)&lt;BR&gt;&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            End If&lt;BR&gt;&lt;BR&gt;        Next&lt;BR&gt;&lt;BR&gt;        For M_X = 0 To MyArrayLen(a_Dir, 2) - 1&lt;BR&gt;&lt;BR&gt;            If a_Dir(0, M_X) = l_Right Then&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;                If a_Dir(4, M_X) &lt;&gt; -1 Then&lt;BR&gt;                    MySubRead(-1, a_Dir(4, M_X), a_Dir, a_Temp)&lt;BR&gt;                End If&lt;BR&gt;&lt;BR&gt;            End If&lt;BR&gt;&lt;BR&gt;        Next&lt;BR&gt;    End Function&lt;BR&gt;End Module&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/bloghelper&gt;?&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/giannigiaccaglini/aggbug/10244.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><h1 style="MARGIN: 24pt 0cm 0pt"><font color="#365f91" size="5" face="Cambria">Ricerca filtrata di mail: richiesta a chi-sa-parli</font></h1>
<p style="MARGIN-BOTTOM: 12pt"><span style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin">Un certo <b style="mso-bidi-font-weight: normal">Lorenzo Pedrinolli </b></span><span style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt">mi ha sottoposto un problema, al quale onestamente non trovo soluzione per mancanza di tempo (o incompetenza? Ebbene sì...). Tuttavia ritengo che la cosa sia di grande interesse per molti, me incluso, tanto più che il buon Lorenzo <u>fornisce pure una complessa routine</u> attinta dal Web, <u>che ahimè sul suo PC malfunziona, ma fusse che fusse che un erroraccio banale è alla base del dramma?</u><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P style="MARGIN-BOTTOM: 12pt"><SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt">Che fare? Pensa e ripensa ho creduto utile pubblicare la richiesta del sullodato Pedrinolli, nella speranza che qualche anima buona ed esperta sappia aiutarlo. In tal caso siete pregati di rivolgersi al sottoscritto <U>solo in caso di soluzioni valide, altrimenti indirizzate soltanto al sullodato:<o:p></o:p></U></SPAN></P>
<P style="TEXT-ALIGN: center; MARGIN-BOTTOM: 12pt" align=center><B style="mso-bidi-font-weight: normal"><A href="mailto:lorenzo.pedrinolli@gmail.com">lorenzo.pedrinolli@gmail.com</A><o:p></o:p></B></P>
<DIV style="BORDER-BOTTOM: windowtext 1.5pt solid; BORDER-LEFT: medium none; PADDING-BOTTOM: 1pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-element: para-border-div">
<P style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; MARGIN-BOTTOM: 12pt; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-padding-alt: 0cm 0cm 1.0pt 0cm; mso-border-bottom-alt: solid windowtext 1.5pt"><SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt">Ma ecco la missiva in questione, che al termine riporta la routine che delude. <U>Ovviamente sono gradite anche soluzioni diverse da quella-che-delude</U></SPAN>.</P>
<P style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; MARGIN-BOTTOM: 12pt; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-padding-alt: 0cm 0cm 1.0pt 0cm; mso-border-bottom-alt: solid windowtext 1.5pt"><SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt"><o:p> </o:p></SPAN></P></DIV>
<P style="MARGIN-BOTTOM: 12pt"><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin">Salve Gianni,<o:p></o:p></SPAN></P>
<P style="MARGIN-BOTTOM: 12pt"><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin">Il mio datore di lavoro, per mia disgrazia, mi ha promosso programmatore solo perch&#233; me la cavo con Visual Basic e SQL. Sono incappato nel suo sito alla disperata ricerca di una soluzione per esportare le mail da Outlook con una procedura quanto pi&#249; automatica possibile e, facendole i complimenti [<I style="mso-bidi-font-style: normal">non c&#8217;&#232; di che &#8211; G.G. </I>], ho trovato tutto quello che mi serviva. Ora per&#242; &#232; nato il problema opposto: da 50 - 100 mail che dovevano essere archiviate siamo passati a 4 - 5000 in poco pi&#249; di due mesi e, ovviamente, mi &#232; stato chiesto un programma per ricercarle in base ad attributi vari: corpo, destinatario, mittente ecc.<o:p></o:p></SPAN></P>
<P style="MARGIN-BOTTOM: 12pt"><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin">Ora non sono in grado di trovare un modo per leggere le propriet&#224; di un file *.msg presente sul disco ne tantomeno di far riconoscere a vb che quel file &#232; un messaggio.<o:p></o:p></SPAN></P>
<P style="MARGIN-BOTTOM: 12pt"><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin">L'unica soluzione che ho trovato &#232; una script (che riporto qui sotto). A detta dell'autore dovrebbe leggere queste propriet&#224; senza far ricorso ad oggetti esterni... peccato che non riconosca i file msg presenti sul mio pc e che vada in ciclo senza fine una volta s&#236; e l'altra pure.<o:p></o:p></SPAN></P>
<P style="MARGIN-BOTTOM: 12pt"><SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt">Confidando che riesca a trovare 10 minuti per aiutarmi [<I style="mso-bidi-font-style: normal">altro che dieci minuti! </I></SPAN><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US>Ce ne vorrebbero molti di pi&#249;! Io non li ho ma qualcun altro ? </SPAN></I><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt">G.G.</SPAN></I><SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt">] le porgo saluti e rinnovati ringraziamenti <SPAN style="mso-spacerun: yes"> </SPAN>per avermi salvato in varie occasioni.<o:p></o:p></SPAN></P>
<P style="MARGIN-BOTTOM: 12pt"><SPAN class=Titolo2Carattere><SPAN style="FONT-SIZE: 13pt; mso-ansi-language: EN-US; mso-fareast-font-family: Calibri" lang=EN-US><STRONG><FONT color=#4f81bd><FONT face=Cambria>La routine deludente<o:p></o:p></FONT></FONT></STRONG></SPAN></SPAN></P>
<P style="MARGIN-BOTTOM: 12pt"><SPAN class=Titolo2Carattere><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: windowtext; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin">Viene</SPAN></SPAN><SPAN class=Titolo2Carattere><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-bidi-font-size: 13.0pt; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"><STRONG><FONT color=#4f81bd> </FONT></STRONG></SPAN></SPAN><SPAN class=Titolo2Carattere><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: windowtext; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin">qui sotto</SPAN></SPAN><SPAN class=Titolo2Carattere><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"><FONT color=#4f81bd> </FONT><FONT color=#000000>riportata </FONT></SPAN></SPAN><FONT color=#000000><SPAN class=Titolo2Carattere><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: windowtext; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin">senza </SPAN></SPAN><SPAN class=Titolo2Carattere><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin">altri </SPAN></SPAN><SPAN class=Titolo2Carattere><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: windowtext; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin">commenti</SPAN></SPAN><SPAN class=Titolo2Carattere><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"> se non quelli incorporate [<I style="mso-bidi-font-style: normal">e sperando che gli esperti cui si rivolge la richiesta di aiuto se la cavino in tale guazzabuglio. </I></SPAN></SPAN><SPAN class=Titolo2Carattere><I style="mso-bidi-font-style: normal"><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-ansi-language: EN-US; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin" lang=EN-US>G.G. </SPAN></I></SPAN><SPAN class=Titolo2Carattere><SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; FONT-WEIGHT: normal; mso-bidi-font-size: 13.0pt; mso-bidi-font-weight: bold; mso-ansi-language: EN-US; mso-fareast-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin" lang=EN-US>]</SPAN></SPAN></FONT><SPAN style="FONT-SIZE: 11pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US><BR></SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US></SPAN></P>
<P style="MARGIN-BOTTOM: 12pt"><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US>Option Explicit On<BR>Module Prova<BR><BR><BR>    'MsgBox MsgGet("DateSent,ReplyType,DateReply,RecipientsBCC,RecipientsTo,RecipientsCC,From,Prefix,MessageID,Subject,DateSent,DateReceived,AttachmentNumbers,AttachmentExtract,AttachmentNames,Recipients","temp.MSG")<BR><BR><BR>    Function MsgGet(ByVal s_Val, ByVal s_fileName)<BR><BR>        ' **********************************************************************************<BR>        '                            Outlook MSG Reading Utility<BR>        '                                Sean Currie @2005<BR>        '<BR>        ' Description : Decodes an Outlook MSG file by reading the Compound Binary File<BR>        '               format directly. Note most of the details on the compound binary<BR>        '               file format derived from </SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"><A href="http://www.openoffice.org/" target=_blank><SPAN style="mso-ansi-language: EN-US" lang=EN-US>www.openoffice.org</SPAN></A></SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US><BR>        '               It DOES NOT require Outlook to be installed on the client machine<BR>        '               nor does it require access to any libraries or third party DLL's<BR>        ' Arguments   : <s_Val> The value or values to return (each separated by a comma)<BR>        '                       e.g.<BR>        '                       Subject            - The subject of the email<BR>        '                       Prefix          - The subject prefix of the email<BR>        '                       MessageID               - The Message ID<BR>        '                       From             - The from address or name whichever<BR>        '                                                 available<BR>        '                       Body                    - The Message Body<BR>        '                       AttachmentNumbers    - The number of attachments<BR>        '                       AttachmentNames        - The names of the attachments<BR>        '                                                 (multiple values separated by a |)<BR>        '                       Recipients        - All of the recipient addresses or name whichever<BR>        '                                                 available (multiple values<BR>        '                                                 separated by a |)<BR>        '                                                 includes TO, CC and BCC<BR>        '                       RecipientsTo        - All the TO addresses or name whichever<BR>        '                                                 available (multiple values<BR>        '                                                 separated by a |)<BR>        '                       RecipientsCC        - All the CC addresses or name whichever<BR>        '                                                 available (multiple values<BR>        '                                                 separated by a |)<BR>        '                       RecipientsBCC        - All the BCC addresses or name whichever<BR>        '                                                 available (multiple values<BR>        '                                                 separated by a |)<BR>        '                       AttachmentExtract    - The attachments are extracted to<BR>        '                                                 a temporary folder and the names<BR>        '                                                 returned to the user<BR>        '                                                 (multiple values spearated by a |)<BR>        '                       DateSent                - The date sent of the email (may not<BR>        '                                                 have been sent if in drafts)<BR>        '                       DateReceived            - The date received if the email has<BR>        '                                                 been received<BR>        '                       DateReply               - Date reply requested in follow up<BR>        '                       ReplyType               - Reply type (Follow up type)<BR>        '                       <BR>        '                       Each value is separated by a ^ and each sub value by a |<BR>        '                       For example:<BR>        '                         asking for Recipients could return<BR>        '                         </SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"><A href="mailto:sean.currie@poboxes.com" target=_blank><SPAN style="mso-ansi-language: EN-US" lang=EN-US>sean.currie@poboxes.com</SPAN></A></SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US>|</SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"><A href="mailto:nuala.currie@poboxes.com" target=_blank><SPAN style="mso-ansi-language: EN-US" lang=EN-US>nuala.currie@poboxes.com</SPAN></A></SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US><BR>        '                         You could then use Split to create an array<BR>        '                       For example:<BR>        '                         asking for "Recipients,From" could return<BR>        '                         </SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"><A href="mailto:sean.currie@poboxes.com" target=_blank><SPAN style="mso-ansi-language: EN-US" lang=EN-US>sean.currie@poboxes.com</SPAN></A></SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US>|</SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"><A href="mailto:nuala.currie@poboxes.com" target=_blank><SPAN style="mso-ansi-language: EN-US" lang=EN-US>nuala.currie@poboxes.com</SPAN></A></SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US>^</SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"><A href="mailto:anyone@internet.com" target=_blank><SPAN style="mso-ansi-language: EN-US" lang=EN-US>anyone@internet.com</SPAN></A></SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US><BR>        '                         You could then use Split with ^ to create two arrays<BR>        '                         One of recipients and one of froms<BR>        '                         Then you could use Split again to get a list of the Recipients<BR>        '<BR>        'Examples     : Extract just the subject<BR>        '               MsgBox MsgGet("Subject","test.msg")<BR>        '<BR>        '               Extract multiple fields there we extract the Subject and the From address<BR>        '               MsgBox MsgGet("Subject,From","test2.msg")<BR>        '<BR>        '               Extract the subject, extract the attachments to the temporary folder and<BR>        '               return the names of the attachments<BR>        '               MsgBox MsgGet("Subject,AttachmentExtract","shortcut.msg")<BR>        '<BR>        ' Created     : 24/12/2005<BR>        ' Version     : 1.0<BR>        '<BR>        ' Description : Modified the way attachments are decoded using a new feature I call<BR>        '               the MultiSectorReader, this speeds up sector decoding by reading<BR>        '               sequential sectors in one go thereby speeding up the read process for<BR>        '               big emails<BR>        ' Modified    : 02/01/2006<BR>        ' Version     : 1.1<BR>        '<BR>        ' Description : Found failure when number of bytes to read for a sector was zero added<BR>        '               code to check for zero sectors<BR>        ' Modified    : 28/01/2007<BR>        ' Version     : 1.2<BR>        '<BR>        ' Description : Major rewrite to reflect use of OutlookSpy to determine ID's of fields<BR>        '               Now accurately reports submit time and received time (previously searched<BR>        '               headers, now uses proper MAPI properties to get them).<BR>        '               Now also report recipients more accurately and can now separate TO, CC and<BR>        '               BCC.<BR>        '               Removed receivedby as didn't think it would ever be used.<BR>        '               Added support to determine follow up date of email (reply by field)<BR>        '               Now also correctly builds the directory from the array<BR>        ' Modified    : 23/02/2007<BR>        ' Version     : 2.0<BR>        ' **********************************************************************************<BR><BR>        Dim o_FSO               ' File system object<BR>        Dim o_File               ' The input MSG file<BR>        Dim s_String           ' Temporary string<BR>        Dim s_Temp               ' Temporary variable<BR>        Dim s_SectSize           ' Sector size<BR>        Dim s_ShortSectSize       ' Short sector size<BR>        Dim s_SectSAT           ' No of SAT sectors<BR>        Dim s_DIRSID           ' First SID of directory<BR>        Dim s_MinStream           ' Minimum size of standard stream<BR>        Dim s_SIDSSAT           ' SID of the SSAT<BR>        Dim s_SSATNumber       ' Number of SSAT sectors<BR>        Dim s_SAT               ' The array of SAT entries<BR>        Dim s_MSATSID           ' First sector of MSAT<BR>        Dim s_SectMSAT           ' No of MSAT sectors<BR>        Dim a_Temp(0, 0)        ' The array of temporary entries<BR>        Dim a_Dir(0, 0)                ' The array of directory entries<BR>        Dim a_MSAT()           ' The array of MSAT entries<BR>        Dim a_SSAT()           ' The array of SSAT entries<BR>        Dim M_W                   ' Temporary Counter<BR>        Dim M_X                   ' Temporary Counter<BR>        Dim M_Y                   ' Temporary Counter<BR>        Dim M_Z                   ' Temporary Counter<BR>        Dim s_ShortSat           ' The short sector container stream<BR>        Dim s_ShortStart       ' The short sector SAT data<BR>        Dim s_ShortSize           ' The short sector SAT data<BR>        Dim a_Val               ' Array of s_Val awaiting return values<BR>        Dim b_Debug               ' Set this variable to True to create TXT files in the<BR>        ' current directory to see what is being read from the<BR>        ' MSG file<BR>        Dim s_Return           ' The returned string<BR>        Dim s_MessageID           ' The message ID<BR>        Dim s_Subject           ' The message subject<BR>        Dim s_From               ' The message from address<BR>        Dim s_Prefix           ' The message subject prefix<BR>        Dim s_Body               ' The message body<BR>        Dim s_AttachNums       ' The message attachment numbers<BR>        Dim a_AttachNames()       ' The message attachment names<BR>        Dim a_Recipients()       ' The message recipients (To, CC and BCC)<BR>        Dim a_RecipientsTo()   ' The message recipients in the TO list<BR>        Dim a_RecipientsCC()   ' The message recipients in the CC list<BR>        Dim a_RecipientsBCC()  ' The message recipients in the BCC list<BR>        Dim a_Attachments()       ' The message attachments names on disk<BR>        Dim a_Attachments2()   ' The message attachments names<BR>        Dim s_DateSent           ' The message date was sent<BR>        Dim s_DateReceived       ' The message date was received<BR>        Dim s_DateReply           ' The message date of reply (also known as follow up date)<BR>        Dim s_ReplyType           ' The message follow up type<BR><BR>        ' Create object and get the file<BR>        o_FSO = My.Computer.FileSystem<BR><BR>        If Not o_FSO.FileExists(s_fileName) Then<BR>            MsgGet = "Error: File does not exist!"<BR>            Exit Function<BR>        End If<BR>        If UCase(Right(s_fileName, 4)) <> ".MSG" Then<BR>            MsgGet = "Error: Not an MSG file!"<BR>            Exit Function<BR>        End If<BR><BR>        o_File = My.Computer.FileSystem.ReadAllText(s_fileName)<BR><BR>        ' Check that right hand of s_Val has comma<BR>        If Right(s_Val, 1) <> "," Then<BR>            s_Val = s_Val & ","<BR>        End If<BR>        s_Val = UCase(s_Val)<BR><BR>        ' Set the return variables to nothing<BR>        MsgGet = ""<BR>        s_ShortSat = ""<BR>        s_Return = ""<BR>        s_Subject = ""<BR>        s_MessageID = ""<BR>        s_From = ""<BR>        s_Prefix = ""<BR>        s_Body = ""<BR>        s_AttachNums = 0<BR>        b_Debug = True<BR>        s_DateSent = ""<BR>        s_DateReceived = ""<BR>        s_DateReply = ""<BR>        s_ReplyType = ""<BR><BR>        ' Read header characters<BR>        s_String = o_File.Read(8)<BR><BR>        ' Check its a compound file<BR>        If s_String <> MyHexToHexCoded("D0CF11E0A1B11AE1") Then<BR>            MsgGet = "Error: Not an MSG file!"<BR>            Exit Function<BR>        End If<BR><BR>        ' Read 16 chars unique identifier with revision<BR>        s_String = o_File.Read(20)<BR><BR>        ' Read 2 chars of byte identifier<BR>        s_String = o_File.Read(2)<BR><BR>        If s_String <> MyHexToHexCoded("FEFF") Then<BR>            MsgGet = "Error: Not an MSG file!"<BR>            Exit Function<BR>        End If<BR><BR>        ' Read 2 chars of sector size<BR>        s_String = o_File.Read(2)<BR><BR>        ' Convert to number and power of 2<BR>        s_SectSize = 2 ^ MyVBNumber(s_String)<BR><BR>        ' Read 2 chars of short sector size<BR>        s_String = o_File.Read(2)<BR><BR>        ' Convert to number and power of 2<BR>        s_ShortSectSize = 2 ^ MyVBNumber(s_String)<BR><BR>        ' Read 10 chars of invalid data<BR>        s_String = o_File.Read(10)<BR><BR>        ' Read 4 chars of sectors in SAT<BR>        s_String = o_File.Read(4)<BR><BR>        ' Convert to number<BR>        s_SectSAT = MyVBNumber(s_String)<BR><BR>        ' Read 4 chars of first DIR SID<BR>        s_String = o_File.Read(4)<BR><BR>        ' Convert to number<BR>        s_DIRSID = MyVBNumber(s_String)<BR><BR>        ' Read 4 chars of invalid data<BR>        s_String = o_File.Read(4)<BR><BR>        ' Read 4 chars of min stream size<BR>        s_String = o_File.Read(4)<BR><BR>        ' Convert to number<BR>        s_MinStream = MyVBNumber(s_String)<BR><BR>        ' Read 4 chars of SID of the SSAT<BR>        s_String = o_File.Read(4)<BR><BR>        ' Convert to number<BR>        s_SIDSSAT = MyVBNumber(s_String)<BR><BR>        ' Read 4 chars of number of SSAT sectors<BR>        s_String = o_File.Read(4)<BR><BR>        ' Convert to number<BR>        s_SSATNumber = MyVBNumber(s_String)<BR><BR>        ' Read 4 chars of MSAT SID<BR>        s_String = o_File.Read(4)<BR><BR>        ' Convert to number<BR>        s_MSATSID = MyVBNumber(s_String)<BR><BR>        ' Read 4 chars of number of sectors in MSAT<BR>        s_String = o_File.Read(4)<BR><BR>        ' Convert to number<BR>        s_SectMSAT = MyVBNumber(s_String)<BR><BR>        ' Now read the first 109 entries in the MSAT<BR>        For M_X = 1 To 109<BR><BR>            ' Read 4 chars of MSAT sector IDs<BR>            s_String = o_File.Read(4)<BR><BR>            If MyVBNumber(s_String) >= 0 Then<BR><BR>                ReDim Preserve a_MSAT(MyArrayLen(a_MSAT, 1) + 1)<BR><BR>                a_MSAT(MyArrayLen(a_MSAT, 1) - 1) = MyVBNumber(s_String)<BR><BR>            End If<BR><BR>        Next<BR><BR>        o_File.Close()<BR><BR>        ' The header has now been read<BR>        ' We now know quite a few things<BR>        ' - The total number of sectors in the MSAT<BR>        ' - The first sector of the MSAT to start reading it<BR>        ' We can now read the MSAT and from there we can read everything<BR><BR>        ' Do we need to read the MSAT if it is more than 109 entries?<BR>        If s_MSATSID <> -2 Then<BR><BR>            M_Y = s_MSATSID<BR><BR>            ' Lets loop through the MSAT<BR>            Do While M_Y >= 0<BR><BR>                s_Temp = MySectorReader(s_SectSize, M_Y, s_fileName)<BR><BR>                For M_X = 1 To s_SectSize - 4 Step 4<BR><BR>                    s_String = Mid(s_Temp, M_X, 4)<BR><BR>                    If MyVBNumber(s_String) > 0 Then<BR><BR>                        ReDim Preserve a_MSAT(MyArrayLen(a_MSAT, 1) + 1)<BR><BR>                        a_MSAT(MyArrayLen(a_MSAT, 1) - 1) = MyVBNumber(s_String)<BR><BR>                    End If<BR>                Next<BR><BR>                s_String = Right(s_Temp, 4)<BR>                If MyVBNumber(s_String) > 0 Then<BR>                    M_Y = MyVBNumber(s_String)<BR>                Else<BR>                    M_Y = -2<BR>                End If<BR><BR>            Loop<BR>        End If<BR><BR>        ' Temporary debug routine to write out the MSAT<BR>        If b_Debug Then<BR>            o_File = o_FSO.CreateTextFile("MSAT.TXT")<BR>            For M_X = 0 To MyArrayLen(a_MSAT, 1) - 1<BR>                o_File.WriteLine("---" & a_MSAT(M_X))<BR>            Next<BR>            o_File.Close()<BR>        End If<BR><BR>        ' We now have the MSAT hence we can now build the SAT from this<BR>        s_SAT = ""<BR><BR>        For M_Y = 0 To (MyArrayLen(a_MSAT, 1) - 1)<BR><BR>            s_SAT = s_SAT & MySectorReader(s_SectSize, a_MSAT(M_Y), s_fileName)<BR><BR>        Next<BR><BR>        ' Temporary debug routine to write out the SAT<BR>        If b_Debug Then<BR>            o_File = o_FSO.CreateTextFile("SAT.TXT")<BR>            o_File.WriteLine("Sector" & Chr(9) & " : " & "Value")<BR>            For M_X = 1 To Len(s_SAT) Step 4<BR>                o_File.WriteLine(Int(M_X / 4) & Chr(9) & " : " & MyVBNumber(Mid(s_SAT, M_X, 4)))<BR>            Next<BR>            o_File.Close()<BR>        End If<BR><BR>        ' Now we can read the Short Sector SSAT<BR>        If s_SIDSSAT <> -2 Then<BR><BR>            M_Y = s_SIDSSAT<BR>            s_Temp = MySectorReader(s_SectSize, M_Y, s_fileName)<BR><BR>            For M_X = 1 To s_SectSize Step 4<BR><BR>                s_String = Mid(s_Temp, M_X, 4)<BR><BR>                ReDim Preserve a_SSAT(MyArrayLen(a_SSAT, 1) + 1)<BR>                a_SSAT(MyArrayLen(a_SSAT, 1) - 1) = MyVBNumber(s_String)<BR><BR>            Next<BR><BR>            M_Z = 1<BR>            Do While True<BR>                M_Y = MyVBNumber(Mid(s_SAT, (M_Y * 4) + 1, 4))<BR>                If M_Y > 0 Then<BR>                    M_Z = M_Z + 1<BR>                    s_Temp = MySectorReader(s_SectSize, M_Y, s_fileName)<BR>                    For M_X = 1 To s_SectSize Step 4<BR>                        s_String = Mid(s_Temp, M_X, 4)<BR><BR>                        ReDim Preserve a_SSAT(MyArrayLen(a_SSAT, 1) + 1)<BR><BR>                        a_SSAT(MyArrayLen(a_SSAT, 1) - 1) = MyVBNumber(s_String)<BR>                    Next<BR>                End If<BR>                If M_Z = s_SSATNumber Then<BR>                    Exit Do<BR>                End If<BR>            Loop<BR><BR>        End If<BR><BR>        ' Temporary debug routine to write out the SSAT<BR>        If b_Debug Then<BR>            o_File = o_FSO.CreateTextFile("SSAT.TXT")<BR>            For M_X = 0 To MyArrayLen(a_SSAT, 1) - 1<BR>                o_File.WriteLine(M_X & Chr(9) & " : " & a_SSAT(M_X))<BR>            Next<BR>            o_File.Close()<BR>        End If<BR><BR>        ' Finally lets read the directory<BR>        M_Y = s_DIRSID<BR><BR>        ' Lets loop through the DIRECTORY<BR>        M_Z = -1<BR>        Do While M_Y >= 0<BR><BR>            s_Temp = MySectorReader(s_SectSize, M_Y, s_fileName)<BR><BR><BR>            For M_X = 1 To s_SectSize Step 128<BR><BR>                M_Z = M_Z + 1<BR><BR>                ' First lets check the type of the directory entry and if zero it is unused<BR>                If MyVBNumber(Mid(s_Temp, M_X + 66, 1)) <> 0 Then<BR><BR><BR>                    If MyArrayLen(a_Dir, 2) = 0 Then<BR>                        ReDim Preserve a_Dir(8, 1)<BR>                    Else<BR>                        ReDim Preserve a_Dir(8, MyArrayLen(a_Dir, 2) + 1)<BR>                    End If<BR><BR>                    ' Format of the array<BR>                    ' 0 - DID<BR>                    ' 1 - Name <BR>                    ' 2 - Type<BR>                    ' 3 - DID Left Child<BR>                    ' 4 - DID Right Child<BR>                    ' 5 - DID root node<BR>                    ' 6 - SID of first sector<BR>                    ' 7 - Stream size<BR><BR>                    a_Dir(0, MyArrayLen(a_Dir, 2) - 1) = M_Z<BR>                    a_Dir(1, MyArrayLen(a_Dir, 2) - 1) = Replace(Mid(s_Temp, M_X, MyVBNumber(Mid(s_Temp, M_X + 64, 2))), Chr(0), "")<BR>                    a_Dir(2, MyArrayLen(a_Dir, 2) - 1) = MyVBNumber(Mid(s_Temp, M_X + 66, 1))<BR>                    a_Dir(3, MyArrayLen(a_Dir, 2) - 1) = MyVBNumber(Mid(s_Temp, M_X + 68, 4))<BR>                    a_Dir(4, MyArrayLen(a_Dir, 2) - 1) = MyVBNumber(Mid(s_Temp, M_X + 72, 4))<BR>                    a_Dir(5, MyArrayLen(a_Dir, 2) - 1) = MyVBNumber(Mid(s_Temp, M_X + 76, 4))<BR>                    a_Dir(6, MyArrayLen(a_Dir, 2) - 1) = MyVBNumber(Mid(s_Temp, M_X + 116, 4))<BR>                    a_Dir(7, MyArrayLen(a_Dir, 2) - 1) = MyVBNumber(Mid(s_Temp, M_X + 120, 4))<BR><BR>                End If<BR><BR>            Next<BR><BR>            M_Y = MyVBNumber(Mid(s_SAT, (M_Y * 4) + 1, 4))<BR><BR>        Loop<BR><BR>        ' Temporary debug routine to write out the SSAT<BR>        ' TO BE REMOVED<BR>        'If b_Debug Then<BR>        '    o_File = o_FSO.CreateTextFile("DIR.TXT")<BR>        '    o_File.WriteLine("DID" & Chr(9) & " : " & "Name" & String(30 - Len("Name"), " ") & " : " & "Type" & Chr(9) & " : " & "Left DID" & Chr(9) & " : " & "Right DID" & Chr(9) & " : " & "Root DID" & Chr(9) & " : " & "Start Sec" & Chr(9) & " : " & "Size")<BR>        '    For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR>        '  o_File.WriteLine(a_DIR(0,M_X) & Chr(9) & " : " & a_DIR(1,M_X) & String(30-Len(a_DIR(1,M_X))," ") & " : " & a_DIR(2,M_X) & Chr(9) & Chr(9) & " : " & a_DIR(3,M_X) & Chr(9) & Chr(9) & " : " & a_DIR(4,M_X) & Chr(9) & Chr(9) & " : " & a_DIR(5,M_X) & Chr(9) & Chr(9) & " : " & a_DIR(6,M_X) & Chr(9) & Chr(9) & " : " & a_DIR(7,M_X))<BR>        '    Next<BR>        '    o_File.Close()<BR>        'End If<BR><BR>        ' Find out the starting SID for the short stream container and then read the short stream container<BR>        If s_SIDSSAT <> -2 Then<BR><BR>            s_ShortStart = 0<BR>            s_ShortSize = 0<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                If InStr(UCase(a_Dir(1, M_X)), "ROOT ENTRY") > 0 Then<BR><BR>                    ' Allocate the first sector of the short sector container stream<BR>                    s_ShortStart = a_Dir(6, M_X)<BR>                    s_ShortSize = a_Dir(7, M_X)<BR>                    Exit For<BR>                End If<BR><BR>            Next<BR><BR>            M_Y = s_ShortStart<BR>            s_ShortSat = MySectorReader(s_SectSize, M_Y, s_fileName)<BR><BR>            Do While True<BR>                M_Y = MyVBNumber(Mid(s_SAT, (M_Y * 4) + 1, 4))<BR>                If M_Y > 0 Then<BR>                    s_ShortSat = s_ShortSat & MySectorReader(s_SectSize, M_Y, s_fileName)<BR>                End If<BR>                If Len(s_ShortSat) >= s_ShortSize Then<BR>                    Exit Do<BR>                End If<BR>            Loop<BR><BR>        End If<BR><BR>        ' Now lets re-read the DIRECTORY in the proper order as Outlook scrambles it<BR>        For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>            ' Check for a root entry<BR>            If a_Dir(5, M_X) <> -1 Then<BR><BR>                ' Add to final array<BR>                ReDim Preserve a_Temp(8, MyArrayLen(a_Temp, 2) + 1)<BR>                a_Temp(0, MyArrayLen(a_Temp, 2) - 1) = a_Dir(0, M_X)<BR>                a_Temp(1, MyArrayLen(a_Temp, 2) - 1) = a_Dir(1, M_X)<BR>                a_Temp(2, MyArrayLen(a_Temp, 2) - 1) = a_Dir(2, M_X)<BR>                a_Temp(3, MyArrayLen(a_Temp, 2) - 1) = a_Dir(3, M_X)<BR>                a_Temp(4, MyArrayLen(a_Temp, 2) - 1) = a_Dir(4, M_X)<BR>                a_Temp(5, MyArrayLen(a_Temp, 2) - 1) = a_Dir(5, M_X)<BR>                a_Temp(6, MyArrayLen(a_Temp, 2) - 1) = a_Dir(6, M_X)<BR>                a_Temp(7, MyArrayLen(a_Temp, 2) - 1) = a_Dir(7, M_X)<BR><BR>                MySubRead(a_Dir(5, M_X), -1, a_Dir, a_Temp)<BR><BR>            End If<BR>        Next<BR><BR>        ' Temporary debug routine to write out the sorted DIRECTORY<BR>        ' TO BE REMOVED<BR>        'If b_Debug Then<BR>        '    o_File = o_FSO.CreateTextFile("DIRFINAL.TXT")<BR>        'o_File.WriteLine("DID" & Chr(9) & " : " & "Name" & String(30-Len("Name")," ") & " : " & "Type" & Chr(9) & " : " & "Left DID" & Chr(9) & " : " & "Right DID" & Chr(9) & " : " & "Root DID" & Chr(9) & " : " & "Start Sec" & Chr(9) & " : " & "Size")<BR>        '    For M_X = 0 To MyArrayLen(a_Temp, 2) - 1<BR>        '  o_File.WriteLine(a_Temp(0,M_X) & Chr(9) & " : " & a_Temp(1,M_X) & String(30-Len(a_Temp(1,M_X))," ") & " : " & a_Temp(2,M_X) & Chr(9) & Chr(9) & " : " & a_Temp(3,M_X) & Chr(9) & Chr(9) & " : " & a_Temp(4,M_X) & Chr(9) & Chr(9) & " : " & a_Temp(5,M_X) & Chr(9) & Chr(9) & " : " & a_Temp(6,M_X) & Chr(9) & Chr(9) & " : " & a_Temp(7,M_X))<BR>        '    Next<BR>        '    o_File.Close()<BR>        'End If<BR><BR>        ReDim a_Dir(8, MyArrayLen(a_Temp, 2))<BR><BR>        For M_X = 0 To MyArrayLen(a_Temp, 2) - 1<BR><BR>            a_Dir(0, M_X) = a_Temp(0, M_X)<BR>            a_Dir(1, M_X) = a_Temp(1, M_X)<BR>            a_Dir(2, M_X) = a_Temp(2, M_X)<BR>            a_Dir(3, M_X) = a_Temp(3, M_X)<BR>            a_Dir(4, M_X) = a_Temp(4, M_X)<BR>            a_Dir(5, M_X) = a_Temp(5, M_X)<BR>            a_Dir(6, M_X) = a_Temp(6, M_X)<BR>            a_Dir(7, M_X) = a_Temp(7, M_X)<BR><BR>        Next<BR><BR>        ' Now lets build the return strings and data<BR>        If InStr(s_Val, "SUBJECT,") > 0 Then<BR><BR>            ' Now get the directory entry for the subject<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR>                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_0037") > 0 And a_Dir(7, M_X) > 0 Then<BR><BR>                    ' Check if in short stream<BR>                    If a_Dir(7, M_X) < s_MinStream Then<BR>                        s_Subject = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")<BR>                        Exit For<BR>                    Else<BR>                        s_Subject = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)<BR>                        Exit For<BR>                    End If<BR>                End If<BR>            Next<BR><BR>        End If<BR><BR>        ' Now lets build the return strings and data<BR>        If InStr(s_Val, "REPLYTYPE,") > 0 Then<BR><BR>            ' Now get the directory entry for the subject<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR>                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_8003") > 0 And a_Dir(7, M_X) > 0 Then<BR><BR>                    ' Check if in short stream<BR>                    If a_Dir(7, M_X) < s_MinStream Then<BR>                        s_ReplyType = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")<BR>                        Exit For<BR>                    Else<BR>                        s_ReplyType = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)<BR>                        Exit For<BR>                    End If<BR>                End If<BR>            Next<BR><BR>        End If<BR><BR><BR>        If InStr(s_Val, "MESSAGEID,") > 0 Then<BR><BR>            ' Now get the directory entry for the message id<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR>                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_1035") > 0 And a_Dir(7, M_X) > 0 Then<BR><BR>                    ' Check if in short stream<BR>                    If a_Dir(7, M_X) < s_MinStream Then<BR>                        s_MessageID = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")<BR>                        Exit For<BR>                    Else<BR>                        s_MessageID = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)<BR>                        Exit For<BR>                    End If<BR>                End If<BR>            Next<BR><BR>        End If<BR><BR>        If InStr(s_Val, "FROM,") > 0 Then<BR><BR>            ' Now get the directory entry for the from type to find out the source email address<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                ' Check for SMTP<BR>                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_0065") > 0 And a_Dir(7, M_X) > 0 And s_From = "" Then<BR><BR>                    ' Check if in short stream<BR>                    If a_Dir(7, M_X) < s_MinStream Then<BR>                        s_From = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")<BR>                    Else<BR>                        s_From = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)<BR>                    End If<BR><BR>                End If<BR>            Next<BR><BR>            ' Check if valid SMTP address<BR>            If InStr(s_From, "@") = 0 Then<BR>                s_From = ""<BR>            Else<BR>                s_From = Replace(s_From, "<", "")<BR>                s_From = Replace(s_From, ">", "")<BR>                s_From = Replace(s_From, "'", "")<BR>            End If<BR><BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                ' Check for return address<BR>                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_800A") > 0 And a_Dir(7, M_X) > 0 And s_From = "" Then<BR><BR>                    ' Check if in short stream<BR>                    If a_Dir(7, M_X) < s_MinStream Then<BR>                        s_From = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")<BR>                        Exit For<BR>                    Else<BR>                        s_From = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)<BR>                        Exit For<BR>                    End If<BR><BR>                End If<BR><BR>            Next<BR><BR>            ' Check if valid SMTP address<BR>            If InStr(s_From, "@") = 0 Then<BR>                s_From = ""<BR>            Else<BR>                s_From = Replace(s_From, "<", "")<BR>                s_From = Replace(s_From, ">", "")<BR>                s_From = Replace(s_From, "'", "")<BR>            End If<BR><BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                ' Check for return address<BR>                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_800B") > 0 And a_Dir(7, M_X) > 0 And s_From = "" Then<BR><BR>                    ' Check if in short stream<BR>                    If a_Dir(7, M_X) < s_MinStream Then<BR>                        s_From = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")<BR>                        Exit For<BR>                    Else<BR>                        s_From = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)<BR>                        Exit For<BR>                    End If<BR><BR>                End If<BR><BR>            Next<BR><BR>            ' Check if valid SMTP address<BR>            If InStr(s_From, "@") = 0 Then<BR>                s_From = ""<BR>            Else<BR>                s_From = Replace(s_From, "<", "")<BR>                s_From = Replace(s_From, ">", "")<BR>                s_From = Replace(s_From, "'", "")<BR>            End If<BR><BR>            ' Now get the directory entry for the from type to find out the source email address<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                ' Check for display name<BR>                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_0C1A") > 0 And a_Dir(7, M_X) > 0 And s_From = "" Then<BR><BR>                    ' Check if in short stream<BR>                    If a_Dir(7, M_X) < s_MinStream Then<BR>                        s_From = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")<BR>                        Exit For<BR>                    Else<BR>                        s_From = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)<BR>                        Exit For<BR>                    End If<BR><BR>                End If<BR>            Next<BR><BR>        End If<BR><BR>        If InStr(s_Val, "PREFIX,") > 0 Then<BR><BR>            ' Now get the directory entry for the message id<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR>                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_003D") > 0 And a_Dir(7, M_X) > 0 Then<BR><BR>                    ' Check if in short stream<BR>                    If a_Dir(7, M_X) < s_MinStream Then<BR>                        s_Prefix = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")<BR>                        Exit For<BR>                    Else<BR>                        s_Prefix = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)<BR>                        Exit For<BR>                    End If<BR><BR>                End If<BR>            Next<BR><BR>        End If<BR><BR>        If InStr(s_Val, "BODY,") > 0 Then<BR><BR>            ' Now get the directory entry for the message body<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR>                If InStr(UCase(a_Dir(1, M_X)), "__SUBSTG1.0_1000") > 0 And a_Dir(7, M_X) > 0 Then<BR><BR>                    ' Check if in short stream<BR>                    If a_Dir(7, M_X) < s_MinStream Then<BR>                        s_Body = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat), Chr(0), "")<BR>                        Exit For<BR>                    Else<BR>                        s_Body = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)<BR>                        Exit For<BR>                    End If<BR>                End If<BR>            Next<BR><BR>        End If<BR><BR>        If InStr(s_Val, "ATTACHMENTNUMBERS,") > 0 Then<BR><BR>            ' Now get the directory entry for the attachments<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                If InStr(UCase(a_Dir(1, M_X)), "__ATTACH_VERSION1.0_#") > 0 Then<BR><BR>                    ' Total the number in the email<BR>                    s_AttachNums = s_AttachNums + 1<BR><BR>                End If<BR>            Next<BR><BR>        End If<BR><BR>        If InStr(s_Val, "ATTACHMENTNAMES,") > 0 Then<BR><BR>            ' Now get the directory entry for the attachments<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                ' Check for attachment<BR>                If InStr(UCase(a_Dir(1, M_X)), "__ATTACH_VERSION1.0_#") > 0 Then<BR><BR>                    ReDim Preserve a_AttachNames(MyArrayLen(a_AttachNames, 1) + 1)<BR><BR>                    ' Get attachment name<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for attachment name<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR><BR>                            Exit For<BR><BR>                        ElseIf InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3704") > 0 Then<BR><BR>                            ' Check if in short stream<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                a_AttachNames(MyArrayLen(a_AttachNames, 1) - 1) = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                a_AttachNames(MyArrayLen(a_AttachNames, 1) - 1) = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                        ElseIf InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3707") > 0 Then<BR><BR>                            ' Check if in short stream<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                a_AttachNames(MyArrayLen(a_AttachNames, 1) - 1) = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                a_AttachNames(MyArrayLen(a_AttachNames, 1) - 1) = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR>                        End If<BR>                    Next<BR>                End If<BR>            Next<BR><BR>        End If<BR><BR>        If InStr(s_Val, "RECIPIENTS,") > 0 Then<BR><BR>            ' Now get the directory entry for the recipients<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                ' Check for recipient<BR>                If InStr(UCase(a_Dir(1, M_X)), "__RECIP_VERSION1.0_#") > 0 Then<BR><BR>                    ReDim Preserve a_Recipients(MyArrayLen(a_Recipients, 1) + 1)<BR><BR>                    s_Temp = ""<BR><BR>                    ' Get recipient name<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for next recipient email<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR>                            Exit For<BR>                        End If<BR><BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_39FE") > 0 And a_Dir(7, M_Y) > 0 And s_Temp = "" Then<BR><BR>                            s_Temp = "1"<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            ' Check if valid SMTP address<BR>                            If InStr(s_String, "@") <> 0 Then<BR>                                s_String = Replace(s_String, "<", "")<BR>                                s_String = Replace(s_String, ">", "")<BR>                                s_String = Replace(s_String, "'", "")<BR>                            End If<BR><BR>                            a_Recipients(MyArrayLen(a_Recipients, 1) - 1) = s_String<BR>                        End If<BR>                    Next<BR><BR>                    ' Get org email<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for next recipient email<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR><BR>                            Exit For<BR>                        End If<BR><BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_403E") > 0 And a_Dir(7, M_Y) > 0 And s_Temp = "" Then<BR><BR>                            s_Temp = "1"<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            ' Check if valid SMTP address<BR>                            If InStr(s_String, "@") <> 0 Then<BR>                                s_String = Replace(s_String, "<", "")<BR>                                s_String = Replace(s_String, ">", "")<BR>                                s_String = Replace(s_String, "'", "")<BR>                            End If<BR><BR>                            a_Recipients(MyArrayLen(a_Recipients, 1) - 1) = s_String<BR>                        End If<BR>                    Next<BR><BR>                    ' Get recipient name<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for next recipient display name<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR><BR>                            Exit For<BR>                        End If<BR><BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3001") > 0 And a_Dir(7, M_Y) > 0 And s_Temp = "" Then<BR><BR>                            s_Temp = "1"<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            ' Check if valid SMTP address<BR>                            If InStr(s_String, "@") <> 0 Then<BR>                                s_String = Replace(s_String, "<", "")<BR>                                s_String = Replace(s_String, ">", "")<BR>                                s_String = Replace(s_String, "'", "")<BR>                            End If<BR><BR>                            a_Recipients(MyArrayLen(a_Recipients, 1) - 1) = s_String<BR><BR>                        End If<BR>                    Next<BR>                End If<BR>            Next<BR><BR>        End If<BR><BR>        If InStr(s_Val, "RECIPIENTSTO,") > 0 Then<BR><BR>            ' Now get the directory entry for the recipients<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                ' Check for recipient<BR>                If InStr(UCase(a_Dir(1, M_X)), "__RECIP_VERSION1.0_#") > 0 Then<BR><BR>                    ReDim Preserve a_RecipientsTo(MyArrayLen(a_RecipientsTo, 1) + 1)<BR><BR>                    s_Temp = ""<BR><BR>                    ' Get recipient name<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for recipient email<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR>                            Exit For<BR>                        End If<BR><BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_39FE") > 0 And a_Dir(7, M_Y) > 0 And s_Temp = "" Then<BR><BR>                            s_Temp = "1"<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            ' Check if valid SMTP address<BR>                            If InStr(s_String, "@") <> 0 Then<BR>                                s_String = Replace(s_String, "<", "")<BR>                                s_String = Replace(s_String, ">", "")<BR>                                s_String = Replace(s_String, "'", "")<BR>                            End If<BR><BR>                            a_RecipientsTo(MyArrayLen(a_RecipientsTo, 1) - 1) = s_String<BR>                        End If<BR>                    Next<BR><BR>                    ' Get org email<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for recipient display name<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR><BR>                            Exit For<BR><BR>                        End If<BR><BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_403E") > 0 And a_Dir(7, M_Y) > 0 And s_Temp = "" Then<BR><BR>                            s_Temp = "1"<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            ' Check if valid SMTP address<BR>                            If InStr(s_String, "@") <> 0 Then<BR>                                s_String = Replace(s_String, "<", "")<BR>                                s_String = Replace(s_String, ">", "")<BR>                                s_String = Replace(s_String, "'", "")<BR>                            End If<BR><BR>                            a_RecipientsTo(MyArrayLen(a_RecipientsTo, 1) - 1) = s_String<BR><BR>                        End If<BR>                    Next<BR><BR>                    ' Get recipient name<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for recipient display name<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR><BR>                            Exit For<BR><BR>                        End If<BR><BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3001") > 0 And a_Dir(7, M_Y) > 0 And s_Temp = "" Then<BR><BR>                            s_Temp = "1"<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            ' Check if valid SMTP address<BR>                            If InStr(s_String, "@") <> 0 Then<BR>                                s_String = Replace(s_String, "<", "")<BR>                                s_String = Replace(s_String, ">", "")<BR>                                s_String = Replace(s_String, "'", "")<BR>                            End If<BR><BR>                            a_RecipientsTo(MyArrayLen(a_RecipientsTo, 1) - 1) = s_String<BR><BR>                        End If<BR>                    Next<BR><BR>                    ' Get recipient type and delete if wrong<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check if its in the TO list<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 And a_Dir(7, M_Y) > 0 Then<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat)<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            For M_Z = 1 To Len(s_String) Step 8<BR>                                If Mid(s_String, M_Z, 4) = MyHexToHexCoded("0300150C") Then<BR>                                    If MyVBNumber(Mid(s_String, M_Z + 8, 1)) <> 1 And s_Temp <> "" Then<BR>                                        If MyArrayLen(a_RecipientsTo, 1) > 1 Then<BR>                                            ReDim Preserve a_RecipientsTo(MyArrayLen(a_RecipientsTo, 1) - 1)<BR>                                        Else<BR>                                            ReDim a_RecipientsTo(0)<BR>                                        End If<BR>                                    End If<BR>                                End If<BR>                            Next<BR><BR>                        End If<BR><BR>                        ' Check for recipient email<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR>                            Exit For<BR>                        End If<BR>                    Next<BR><BR>                End If<BR>            Next<BR><BR>        End If<BR><BR><BR>        If InStr(s_Val, "RECIPIENTSCC,") > 0 Then<BR><BR>            ' Now get the directory entry for the recipients<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                ' Check for recipient<BR>                If InStr(UCase(a_Dir(1, M_X)), "__RECIP_VERSION1.0_#") > 0 Then<BR><BR>                    ReDim Preserve a_RecipientsCC(MyArrayLen(a_RecipientsCC, 1) + 1)<BR><BR>                    s_Temp = ""<BR><BR>                    ' Get recipient name<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for recipient email<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR>                            Exit For<BR>                        End If<BR><BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_39FE") > 0 And a_Dir(7, M_Y) > 0 And s_Temp = "" Then<BR><BR>                            s_Temp = "1"<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            ' Check if valid SMTP address<BR>                            If InStr(s_String, "@") <> 0 Then<BR>                                s_String = Replace(s_String, "<", "")<BR>                                s_String = Replace(s_String, ">", "")<BR>                                s_String = Replace(s_String, "'", "")<BR>                            End If<BR><BR>                            a_RecipientsCC(MyArrayLen(a_RecipientsCC, 1) - 1) = s_String<BR>                        End If<BR>                    Next<BR><BR>                    ' Get org email<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for recipient display name<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR><BR>                            Exit For<BR><BR>                        End If<BR><BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_403E") > 0 And a_Dir(7, M_Y) > 0 And s_Temp = "" Then<BR><BR>                            s_Temp = "1"<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            ' Check if valid SMTP address<BR>                            If InStr(s_String, "@") <> 0 Then<BR>                                s_String = Replace(s_String, "<", "")<BR>                                s_String = Replace(s_String, ">", "")<BR>                                s_String = Replace(s_String, "'", "")<BR>                            End If<BR><BR>                            a_RecipientsCC(MyArrayLen(a_RecipientsCC, 1) - 1) = s_String<BR><BR>                        End If<BR>                    Next<BR><BR>                    ' Get recipient name<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for recipient display name<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR><BR>                            Exit For<BR><BR>                        End If<BR><BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3001") > 0 And a_Dir(7, M_Y) > 0 And s_Temp = "" Then<BR><BR>                            s_Temp = "1"<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            ' Check if valid SMTP address<BR>                            If InStr(s_String, "@") <> 0 Then<BR>                                s_String = Replace(s_String, "<", "")<BR>                                s_String = Replace(s_String, ">", "")<BR>                                s_String = Replace(s_String, "'", "")<BR>                            End If<BR><BR>                            a_RecipientsCC(MyArrayLen(a_RecipientsCC, 1) - 1) = s_String<BR><BR>                        End If<BR>                    Next<BR><BR>                    ' Get recipient type and delete if wrong<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check if its in the TO list<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 And a_Dir(7, M_Y) > 0 Then<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat)<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            For M_Z = 1 To Len(s_String) Step 8<BR>                                If Mid(s_String, M_Z, 4) = MyHexToHexCoded("0300150C") Then<BR>                                    If MyVBNumber(Mid(s_String, M_Z + 8, 1)) <> 2 And s_Temp <> "" Then<BR>                                        If MyArrayLen(a_RecipientsCC, 1) > 1 Then<BR>                                            ReDim Preserve a_RecipientsCC(MyArrayLen(a_RecipientsCC, 1) - 1)<BR>                                        Else<BR>                                            ReDim a_RecipientsCC(0)<BR>                                        End If<BR>                                    End If<BR>                                End If<BR>                            Next<BR><BR>                        End If<BR><BR>                        ' Check for recipient email<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR>                            Exit For<BR>                        End If<BR>                    Next<BR><BR>                End If<BR>            Next<BR><BR>        End If<BR><BR><BR>        If InStr(s_Val, "RECIPIENTSBCC,") > 0 Then<BR><BR>            ' Now get the directory entry for the recipients<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                ' Check for recipient<BR>                If InStr(UCase(a_Dir(1, M_X)), "__RECIP_VERSION1.0_#") > 0 Then<BR><BR>                    ReDim Preserve a_RecipientsBCC(MyArrayLen(a_RecipientsBCC, 1) + 1)<BR><BR>                    s_Temp = ""<BR><BR>                    ' Get recipient name<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for recipient email<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR>                            Exit For<BR>                        End If<BR><BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_39FE") > 0 And a_Dir(7, M_Y) > 0 And s_Temp = "" Then<BR><BR>                            s_Temp = "1"<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            ' Check if valid SMTP address<BR>                            If InStr(s_String, "@") <> 0 Then<BR>                                s_String = Replace(s_String, "<", "")<BR>                                s_String = Replace(s_String, ">", "")<BR>                                s_String = Replace(s_String, "'", "")<BR>                            End If<BR><BR>                            a_RecipientsBCC(MyArrayLen(a_RecipientsBCC, 1) - 1) = s_String<BR>                        End If<BR>                    Next<BR><BR>                    ' Get org email<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for recipient display name<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR><BR>                            Exit For<BR><BR>                        End If<BR><BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_403E") > 0 And a_Dir(7, M_Y) > 0 And s_Temp = "" Then<BR><BR>                            s_Temp = "1"<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            ' Check if valid SMTP address<BR>                            If InStr(s_String, "@") <> 0 Then<BR>                                s_String = Replace(s_String, "<", "")<BR>                                s_String = Replace(s_String, ">", "")<BR>                                s_String = Replace(s_String, "'", "")<BR>                            End If<BR><BR>                            a_RecipientsBCC(MyArrayLen(a_RecipientsBCC, 1) - 1) = s_String<BR><BR>                        End If<BR>                    Next<BR><BR>                    ' Get recipient name<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for recipient display name<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR><BR>                            Exit For<BR><BR>                        End If<BR><BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3001") > 0 And a_Dir(7, M_Y) > 0 And s_Temp = "" Then<BR><BR>                            s_Temp = "1"<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            ' Check if valid SMTP address<BR>                            If InStr(s_String, "@") <> 0 Then<BR>                                s_String = Replace(s_String, "<", "")<BR>                                s_String = Replace(s_String, ">", "")<BR>                                s_String = Replace(s_String, "'", "")<BR>                            End If<BR><BR>                            a_RecipientsBCC(MyArrayLen(a_RecipientsBCC, 1) - 1) = s_String<BR><BR>                        End If<BR>                    Next<BR><BR>                    ' Get recipient type and delete if wrong<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check if its in the TO list<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 And a_Dir(7, M_Y) > 0 Then<BR><BR>                            ' Check if in short stream<BR>                            s_String = ""<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                s_String = MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat)<BR>                            Else<BR>                                s_String = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                            For M_Z = 1 To Len(s_String) Step 8<BR>                                If Mid(s_String, M_Z, 4) = MyHexToHexCoded("0300150C") Then<BR>                                    If MyVBNumber(Mid(s_String, M_Z + 8, 1)) <> 3 And s_Temp <> "" Then<BR>                                        If MyArrayLen(a_RecipientsBCC, 1) > 1 Then<BR>                                            ReDim Preserve a_RecipientsBCC(MyArrayLen(a_RecipientsBCC, 1) - 1)<BR>                                        Else<BR>                                            ReDim a_RecipientsBCC(0)<BR>                                        End If<BR>                                    End If<BR>                                End If<BR>                            Next<BR><BR>                        End If<BR><BR>                        ' Check for recipient email<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR>                            Exit For<BR>                        End If<BR>                    Next<BR><BR>                End If<BR>            Next<BR><BR>        End If<BR><BR>        If InStr(s_Val, "ATTACHMENTEXTRACT,") > 0 Then<BR><BR>            ' Now get the directory entry for the attachments<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                ' Check for attachment<BR>                If InStr(UCase(a_Dir(1, M_X)), "__ATTACH_VERSION1.0_#") > 0 Then<BR><BR>                    ReDim Preserve a_Attachments(MyArrayLen(a_Attachments, 1) + 1)<BR>                    ReDim Preserve a_Attachments2(MyArrayLen(a_Attachments2, 1) + 1)<BR><BR>                    ' Get attachment name<BR>                    For M_Y = M_X + 1 To MyArrayLen(a_Dir, 2) - 1<BR><BR>                        ' Check for attachment name<BR>                        If InStr(UCase(a_Dir(1, M_Y)), "__ATTACH_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__RECIP_VERSION1.0_#") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__NAMEID_VERSION1.0") > 0 Or InStr(UCase(a_Dir(1, M_Y)), "__PROPERTIES_VERSION1.0") > 0 Then<BR><BR>                            Exit For<BR><BR>                        ElseIf InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3701") > 0 Then<BR><BR>                            ' Check if in short stream<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR><BR>                                s_Temp = o_FSO.GetSpecialFolder(2) & o_FSO.GetTempName<BR>                                o_File = o_FSO.CreateTextFile(s_Temp, True, False)<BR>                                o_File.Write(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat))<BR>                                a_Attachments(MyArrayLen(a_Attachments, 1) - 1) = s_Temp<BR>                                o_File.Close()<BR><BR>                            Else<BR><BR>                                a_Attachments(MyArrayLen(a_Attachments, 1) - 1) = MyLongSectorReader("FILE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR><BR>                            End If<BR><BR>                        ElseIf InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3704") > 0 Then<BR><BR>                            ' Check if in short stream<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                a_Attachments2(MyArrayLen(a_Attachments2, 1) - 1) = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                a_Attachments2(MyArrayLen(a_Attachments2, 1) - 1) = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR><BR>                        ElseIf InStr(UCase(a_Dir(1, M_Y)), "__SUBSTG1.0_3707") > 0 Then<BR><BR>                            ' Check if in short stream<BR>                            If a_Dir(7, M_Y) < s_MinStream Then<BR>                                a_Attachments2(MyArrayLen(a_Attachments2, 1) - 1) = Replace(MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), a_SSAT, s_ShortSat), Chr(0), "")<BR>                            Else<BR>                                a_Attachments2(MyArrayLen(a_Attachments2, 1) - 1) = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_Y), a_Dir(7, M_Y), s_fileName, s_SAT)<BR>                            End If<BR>                        End If<BR>                    Next<BR>                End If<BR>            Next<BR><BR><BR>            ' At this stage we have temporary filenames and an array of names<BR>            ' We now need to:<BR>            ' - Check for existing files<BR>            ' - Rename the temporary files to the new names<BR><BR>            ' Delete files in temporary folder<BR>            For M_X = 0 To MyArrayLen(a_Attachments2, 1) - 1<BR><BR>                ' Check for existing files<BR>                If o_FSO.FileExists(o_FSO.GetSpecialFolder(2) & "\" & a_Attachments2(M_X)) Then<BR><BR>                    On Error Resume Next<BR>                    o_FSO.DeleteFile(o_FSO.GetSpecialFolder(2) & "\" & a_Attachments2(M_X))<BR>                    On Error GoTo 0<BR><BR>                End If<BR><BR>            Next<BR><BR>            ' Now rename attachments<BR>            For M_X = 0 To MyArrayLen(a_Attachments2, 1) - 1<BR><BR><BR>                ' Check for existing files<BR>                If o_FSO.FileExists(o_FSO.GetSpecialFolder(2) & "\" & a_Attachments2(M_X)) Then<BR><BR>                    M_Y = 1<BR>                    Do While o_FSO.FileExists(o_FSO.GetSpecialFolder(2) & "\" & M_Y & a_Attachments2(M_X))<BR>                        M_Y = M_Y + 1<BR>                    Loop<BR><BR>                    o_FSO.MoveFile(a_Attachments(M_X), o_FSO.GetSpecialFolder(2) & "\" & M_Y & a_Attachments2(M_X))<BR>                    a_Attachments(M_X) = o_FSO.GetSpecialFolder(2) & "\" & M_Y & a_Attachments2(M_X)<BR><BR>                Else<BR><BR>                    o_FSO.MoveFile(a_Attachments(M_X), o_FSO.GetSpecialFolder(2) & "\" & a_Attachments2(M_X))<BR>                    a_Attachments(M_X) = o_FSO.GetSpecialFolder(2) & "\" & a_Attachments2(M_X)<BR><BR>                End If<BR><BR>            Next<BR>        End If<BR><BR>        ' The date sent<BR>        If InStr(s_Val, "DATESENT,") > 0 Then<BR><BR>            s_Temp = ""<BR>            ' Now get the directory entry for the first properties<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR>                If InStr(UCase(a_Dir(1, M_X)), "__PROPERTIES_VERSION1.0") > 0 And a_Dir(7, M_X) > 0 Then<BR>                    ' Check if in short stream<BR>                    If a_Dir(7, M_X) < s_MinStream Then<BR>                        s_Temp = MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat)<BR>                        Exit For<BR>                    Else<BR>                        s_Temp = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)<BR>                        Exit For<BR>                    End If<BR><BR>                End If<BR>            Next<BR><BR>            ' Now we've got the properties lets read them<BR>            For M_X = 1 To Len(s_Temp) Step 16<BR>                If Mid(s_Temp, M_X, 4) = MyHexToHexCoded("40003900") Then<BR>                    s_DateSent = MyGregorianDate(MyVBNumber(Mid(s_Temp, M_X + 8, 8)))<BR>                End If<BR>            Next<BR><BR>        End If<BR><BR>        ' The date received<BR>        If InStr(s_Val, "DATERECEIVED,") > 0 Then<BR><BR>            s_Temp = ""<BR>            ' Now get the directory entry for the first properties<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR>                If InStr(UCase(a_Dir(1, M_X)), "__PROPERTIES_VERSION1.0") > 0 And a_Dir(7, M_X) > 0 Then<BR>                    ' Check if in short stream<BR>                    If a_Dir(7, M_X) < s_MinStream Then<BR>                        s_Temp = MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat)<BR>                        Exit For<BR>                    Else<BR>                        s_Temp = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)<BR>                        Exit For<BR>                    End If<BR><BR>                End If<BR>            Next<BR><BR>            ' Now we've got the properties lets read them<BR>            s_DateReceived = ""<BR>            For M_X = 1 To Len(s_Temp) Step 16<BR>                If Mid(s_Temp, M_X, 4) = MyHexToHexCoded("4000060E") Then<BR>                    s_DateReceived = MyGregorianDate(MyVBNumber(Mid(s_Temp, M_X + 8, 8)))<BR>                End If<BR>            Next<BR><BR>        End If<BR><BR><BR>        ' The date reply requested<BR>        If InStr(s_Val, "DATEREPLY,") > 0 Then<BR><BR>            s_Temp = ""<BR>            ' Now get the directory entry for the first properties<BR>            For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR>                If InStr(UCase(a_Dir(1, M_X)), "__PROPERTIES_VERSION1.0") > 0 And a_Dir(7, M_X) > 0 Then<BR>                    ' Check if in short stream<BR>                    If a_Dir(7, M_X) < s_MinStream Then<BR>                        s_Temp = MyShortSectorReader(s_ShortSectSize, a_Dir(6, M_X), a_Dir(7, M_X), a_SSAT, s_ShortSat)<BR>                        Exit For<BR>                    Else<BR>                        s_Temp = MyLongSectorReader("VARIABLE", s_SectSize, a_Dir(6, M_X), a_Dir(7, M_X), s_fileName, s_SAT)<BR>                        Exit For<BR>                    End If<BR><BR>                End If<BR>            Next<BR><BR>            ' Now we've got the properties lets read them<BR>            s_DateReply = ""<BR>            For M_X = 1 To Len(s_Temp) Step 16<BR>                If Mid(s_Temp, M_X, 4) = MyHexToHexCoded("40003000") Then<BR>                    s_DateReply = MyGregorianDate(MyVBNumber(Mid(s_Temp, M_X + 8, 8)))<BR>                End If<BR>            Next<BR><BR>        End If<BR><BR>        ' Build the return string by checking what was asked for<BR>        a_Val = Split(s_Val, ",")<BR>        s_Return = ""<BR>        For M_X = 0 To MyArrayLen(a_Val, 1) - 1<BR><BR>            If Len(Trim(a_Val(M_X))) <> 0 Then<BR><BR>                If UCase(Trim(a_Val(M_X))) = "SUBJECT" Then<BR>                    If s_Return = "" Then<BR>                        If Len(s_Subject) > 0 Then<BR>                            s_Return = s_Return & s_Subject<BR>                        Else<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^" & s_Subject<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "MESSAGEID" Then<BR>                    If s_Return = "" Then<BR>                        If Len(s_MessageID) > 0 Then<BR>                            s_Return = s_Return & s_MessageID<BR>                        Else<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^" & s_MessageID<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "FROM" Then<BR>                    If s_Return = "" Then<BR>                        If Len(s_From) > 0 Then<BR>                            s_Return = s_Return & s_From<BR>                        Else<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^" & s_From<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "PREFIX" Then<BR>                    If s_Return = "" Then<BR>                        If Len(s_Prefix) > 0 Then<BR>                            s_Return = s_Return & s_Prefix<BR>                        Else<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^" & s_Prefix<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "BODY" Then<BR>                    If s_Return = "" Then<BR>                        If Len(s_Body) > 0 Then<BR>                            s_Return = s_Return & s_Body<BR>                        Else<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^" & s_Body<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "ATTACHMENTNUMBERS" Then<BR>                    If s_Return = "" Then<BR>                        If Len(s_AttachNums) > 0 Then<BR>                            s_Return = s_AttachNums<BR>                        Else<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^" & s_AttachNums<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "ATTACHMENTNAMES" Then<BR>                    If s_Return = "" Then<BR>                        For M_Y = 0 To MyArrayLen(a_AttachNames, 1) - 1<BR>                            s_Return = s_Return & a_AttachNames(M_Y) & "|"<BR>                        Next<BR>                        If Len(s_Return) = 0 Then<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^"<BR>                        For M_Y = 0 To MyArrayLen(a_AttachNames, 1) - 1<BR>                            s_Return = s_Return & a_AttachNames(M_Y) & "|"<BR>                        Next<BR>                    End If<BR>                    If Right(s_Return, 1) = "|" Then<BR>                        s_Return = Left(s_Return, Len(s_Return) - 1)<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "RECIPIENTS" Then<BR>                    If s_Return = "" Then<BR>                        For M_Y = 0 To MyArrayLen(a_Recipients, 1) - 1<BR>                            s_Return = s_Return & a_Recipients(M_Y) & "|"<BR>                        Next<BR>                        If Len(s_Return) = 0 Then<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^"<BR>                        For M_Y = 0 To MyArrayLen(a_Recipients, 1) - 1<BR>                            s_Return = s_Return & a_Recipients(M_Y) & "|"<BR>                        Next<BR>                    End If<BR>                    If Right(s_Return, 1) = "|" Then<BR>                        s_Return = Left(s_Return, Len(s_Return) - 1)<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "RECIPIENTSTO" Then<BR>                    If s_Return = "" Then<BR>                        For M_Y = 0 To MyArrayLen(a_RecipientsTo, 1) - 1<BR>                            s_Return = s_Return & a_RecipientsTo(M_Y) & "|"<BR>                        Next<BR>                        If Len(s_Return) = 0 Then<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^"<BR>                        For M_Y = 0 To MyArrayLen(a_RecipientsTo, 1) - 1<BR>                            s_Return = s_Return & a_RecipientsTo(M_Y) & "|"<BR>                        Next<BR>                    End If<BR>                    If Right(s_Return, 1) = "|" Then<BR>                        s_Return = Left(s_Return, Len(s_Return) - 1)<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "RECIPIENTSCC" Then<BR>                    If s_Return = "" Then<BR>                        For M_Y = 0 To MyArrayLen(a_RecipientsCC, 1) - 1<BR>                            s_Return = s_Return & a_RecipientsCC(M_Y) & "|"<BR>                        Next<BR>                        If Len(s_Return) = 0 Then<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^"<BR>                        For M_Y = 0 To MyArrayLen(a_RecipientsCC, 1) - 1<BR>                            s_Return = s_Return & a_RecipientsCC(M_Y) & "|"<BR>                        Next<BR>                    End If<BR>                    If Right(s_Return, 1) = "|" Then<BR>                        s_Return = Left(s_Return, Len(s_Return) - 1)<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "RECIPIENTSBCC" Then<BR>                    If s_Return = "" Then<BR>                        For M_Y = 0 To MyArrayLen(a_RecipientsBCC, 1) - 1<BR>                            s_Return = s_Return & a_RecipientsBCC(M_Y) & "|"<BR>                        Next<BR>                        If Len(s_Return) = 0 Then<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^"<BR>                        For M_Y = 0 To MyArrayLen(a_RecipientsBCC, 1) - 1<BR>                            s_Return = s_Return & a_RecipientsBCC(M_Y) & "|"<BR>                        Next<BR>                    End If<BR>                    If Right(s_Return, 1) = "|" Then<BR>                        s_Return = Left(s_Return, Len(s_Return) - 1)<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "ATTACHMENTEXTRACT" Then<BR>                    If s_Return = "" Then<BR>                        For M_Y = 0 To MyArrayLen(a_Attachments, 1) - 1<BR>                            s_Return = s_Return & a_Attachments(M_Y) & "|"<BR>                        Next<BR>                        If Len(s_Return) = 0 Then<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^"<BR>                        For M_Y = 0 To MyArrayLen(a_Attachments, 1) - 1<BR>                            s_Return = s_Return & a_Attachments(M_Y) & "|"<BR>                        Next<BR>                    End If<BR>                    If Right(s_Return, 1) = "|" Then<BR>                        s_Return = Left(s_Return, Len(s_Return) - 1)<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "DATESENT" Then<BR>                    If s_Return = "" Then<BR>                        s_Return = s_DateSent<BR>                        If Len(s_Return) = 0 Then<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^" & s_DateSent<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "DATERECEIVED" Then<BR>                    If s_Return = "" Then<BR>                        s_Return = s_DateReceived<BR>                        If Len(s_Return) = 0 Then<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^" & s_DateReceived<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "DATEREPLY" Then<BR>                    If s_Return = "" Then<BR>                        s_Return = s_DateReply<BR>                        If Len(s_Return) = 0 Then<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^" & s_DateReply<BR>                    End If<BR>                End If<BR><BR>                If UCase(Trim(a_Val(M_X))) = "REPLYTYPE" Then<BR>                    If s_Return = "" Then<BR>                        s_Return = s_ReplyType<BR>                        If Len(s_Return) = 0 Then<BR>                            s_Return = " "<BR>                        End If<BR>                    Else<BR>                        s_Return = s_Return & "^" & s_ReplyType<BR>                    End If<BR>                End If<BR><BR>            End If<BR>        Next<BR><BR>        MsgGet = s_Return<BR><BR>        o_File = Nothing<BR>        o_FSO = Nothing<BR>    End Function<BR><BR><BR>    Function MyHexToHexCoded(ByVal s_String)<BR>        ' **********************************************************************************<BR>        ' Description : Takes a string such as "D0CF" and returns a HEX string which can be<BR>        '               compared with characters read from a file<BR>        ' Created     : 24/12/2005<BR>        ' Version     : 1.0<BR>        ' **********************************************************************************<BR>        Dim M_X<BR>        Dim s_Temp<BR><BR>        s_Temp = ""<BR>        For M_X = 1 To Len(s_String) Step 2<BR>            s_Temp = s_Temp & Chr(CLng("&H" & Mid(s_String, M_X, 2)))<BR>        Next<BR>        MyHexToHexCoded = s_Temp<BR>    End Function<BR><BR><BR>    Function MyVBNumber(ByVal s_String)<BR>        ' **********************************************************************************<BR>        ' Description : Takes chars read from file and converts to number<BR>        ' Created     : 24/12/2005<BR>        ' Version     : 1.0<BR>        ' **********************************************************************************<BR><BR>        MyVBNumber = 0<BR>        If Len(s_String) = 1 Then<BR>            If Asc(Mid(s_String, 1, 1)) = 255 Then<BR>                MyVBNumber = -1<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 254 Then<BR>                MyVBNumber = -1<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 253 Then<BR>                MyVBNumber = -2<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 252 Then<BR>                MyVBNumber = -3<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 251 Then<BR>                MyVBNumber = -4<BR>            Else<BR>                MyVBNumber = Asc(Mid(s_String, 1, 1))<BR>            End If<BR>        ElseIf Len(s_String) = 2 Then<BR>            If Asc(Mid(s_String, 1, 1)) = 255 And Asc(Mid(s_String, 2, 1)) = 255 Then<BR>                MyVBNumber = -1<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 254 And Asc(Mid(s_String, 2, 1)) = 255 Then<BR>                MyVBNumber = -1<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 253 And Asc(Mid(s_String, 2, 1)) = 255 Then<BR>                MyVBNumber = -2<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 252 And Asc(Mid(s_String, 2, 1)) = 255 Then<BR>                MyVBNumber = -3<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 251 And Asc(Mid(s_String, 2, 1)) = 255 Then<BR>                MyVBNumber = -4<BR>            Else<BR>                MyVBNumber = Asc(Mid(s_String, 1, 1)) + Asc(Mid(s_String, 2, 1)) * 256<BR>            End If<BR>        ElseIf Len(s_String) = 4 Then<BR>            If Asc(Mid(s_String, 1, 1)) = 255 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 Then<BR>                MyVBNumber = -1<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 254 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 Then<BR>                MyVBNumber = -1<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 253 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 Then<BR>                MyVBNumber = -2<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 252 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 Then<BR>                MyVBNumber = -3<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 251 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 Then<BR>                MyVBNumber = -4<BR>            Else<BR>                MyVBNumber = Asc(Mid(s_String, 1, 1)) + Asc(Mid(s_String, 2, 1)) * 256 + Asc(Mid(s_String, 3, 1)) * 65536 + Asc(Mid(s_String, 4, 1)) * 16777216<BR>            End If<BR>        ElseIf Len(s_String) = 8 Then<BR>            If Asc(Mid(s_String, 1, 1)) = 255 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 And Asc(Mid(s_String, 5, 1)) = 255 And Asc(Mid(s_String, 6, 1)) = 255 And Asc(Mid(s_String, 7, 1)) = 255 And Asc(Mid(s_String, 8, 1)) = 255 Then<BR>                MyVBNumber = -1<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 254 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 And Asc(Mid(s_String, 5, 1)) = 255 And Asc(Mid(s_String, 6, 1)) = 255 And Asc(Mid(s_String, 7, 1)) = 255 And Asc(Mid(s_String, 8, 1)) = 255 Then<BR>                MyVBNumber = -1<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 253 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 And Asc(Mid(s_String, 5, 1)) = 255 And Asc(Mid(s_String, 6, 1)) = 255 And Asc(Mid(s_String, 7, 1)) = 255 And Asc(Mid(s_String, 8, 1)) = 255 Then<BR>                MyVBNumber = -2<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 252 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 And Asc(Mid(s_String, 5, 1)) = 255 And Asc(Mid(s_String, 6, 1)) = 255 And Asc(Mid(s_String, 7, 1)) = 255 And Asc(Mid(s_String, 8, 1)) = 255 Then<BR>                MyVBNumber = -3<BR>            ElseIf Asc(Mid(s_String, 1, 1)) = 251 And Asc(Mid(s_String, 2, 1)) = 255 And Asc(Mid(s_String, 3, 1)) = 255 And Asc(Mid(s_String, 4, 1)) = 255 And Asc(Mid(s_String, 5, 1)) = 255 And Asc(Mid(s_String, 6, 1)) = 255 And Asc(Mid(s_String, 7, 1)) = 255 And Asc(Mid(s_String, 8, 1)) = 255 Then<BR>                MyVBNumber = -4<BR>            Else<BR>                MyVBNumber = Asc(Mid(s_String, 1, 1)) + Asc(Mid(s_String, 2, 1)) * 256 + Asc(Mid(s_String, 3, 1)) * 65536 + Asc(Mid(s_String, 4, 1)) * 16777216 + Asc(Mid(s_String, 5, 1)) * 4294967296 + Asc(Mid(s_String, 6, 1)) * 1099511627776 + Asc(Mid(s_String, 7, 1)) * 281474976710656 + Asc(Mid(s_String, 8, 1)) * 72057594037927900<BR>            End If<BR>        End If<BR>    End Function<BR><BR><BR>    Function MyArrayLen(ByVal MyArray, ByVal MyDim)<BR>        ' *****************************************************************************<BR>        ' Function    : MyArrayLen<BR>        ' Arguments   : <MyArray> Array to get length of<BR>        '               <MyDim>   Dimension of array to test<BR>        ' Returns     : Length of array<BR>        ' Description : Returns the length of an array even if it is null or not<BR>        '               defined. UBound does not work on some types of variant array<BR>        '               so discovered best to use For Each when dimension 1 and UBound<BR>        '               for other dimensions.<BR>        ' Created     : 20/10/2001 S Currie<BR>        ' *****************************************************************************<BR>        Dim MyLength<BR>        MyLength = 0<BR>        On Error Resume Next<BR>        MyLength = UBound(MyArray, MyDim)<BR>        If MyLength < 0 Then<BR>            MyLength = 0<BR>        End If<BR>        MyArrayLen = MyLength<BR>    End Function<BR><BR>    Function MySectorReader(ByVal s_SectSize, ByVal s_SID, ByVal s_FileName)<BR>        ' **********************************************************************************<BR>        ' Description : Reads a number of characters from a particular sector in a file<BR>        ' Arguments   : <s_SectSize>     The size of the sectors to be read<BR>        '               <s_SID>          The particluar sector to be read<BR>        '               <s_FileName>     The filename which they are to be read from<BR>        ' Created     : 30/12/2005<BR>        ' Version     : 1.0<BR>        ' **********************************************************************************<BR>        Dim o_FSO<BR>        Dim o_File<BR><BR>        ' Create object and get the file<BR>        o_FSO = My.Computer.FileSystem<BR><BR>        If Not o_FSO.FileExists(s_FileName) Then<BR>            MySectorReader = ""<BR>            Exit Function<BR>        End If<BR>        If UCase(Right(s_FileName, 4)) <> ".MSG" Then<BR>            MySectorReader = ""<BR>            Exit Function<BR>        End If<BR><BR>        o_File = o_FSO.OpenTextFile(s_FileName, 1, -1)<BR><BR>        ' Now read up to the sector<BR>        o_File.Skip((s_SID * s_SectSize) + s_SectSize)<BR><BR>        ' Now read the sector itself<BR>        On Error Resume Next<BR>        MySectorReader = o_File.Read(s_SectSize)<BR><BR>        o_File.Close()<BR>        o_File = Nothing<BR>        o_FSO = Nothing<BR><BR>    End Function<BR><BR>    Function MyShortSectorReader(ByVal s_ShortSectSize, ByVal s_SID, ByVal s_Size, ByVal a_SSAT, ByVal s_ShortSat)<BR>        ' **********************************************************************************<BR>        ' Description : Reads a number of characters from the short sector container which<BR>        '               is held in the memory variable s_ShortSat. The a_SSAT is a directory<BR>        '               array which tell you how to access the s_ShortSat<BR>        ' Arguments   : <s_ShortSectSize>     The size of the sectors to be read<BR>        '               <s_SID>               The particluar sector to be read within s_ShortSat<BR>        '               <s_Size>              The size of the value to return<BR>        '               <a_SSAT>              The array which contains the details of how to<BR>        '                                     access the s_ShortSat<BR>        '               <s_ShortSat>          This is the short container stream read from<BR>        '                                     the file<BR>        ' Created     : 31/12/2005<BR>        ' Version     : 1.0<BR>        ' **********************************************************************************<BR>        Dim M_Y<BR>        Dim s_Temp<BR><BR>        M_Y = s_SID<BR>        s_Temp = Mid(s_ShortSat, s_SID * s_ShortSectSize + 1, s_ShortSectSize)<BR><BR>        Do While True<BR>            M_Y = a_SSAT(M_Y)<BR>            If M_Y > 0 Then<BR>                s_Temp = s_Temp & Mid(s_ShortSat, M_Y * s_ShortSectSize + 1, s_ShortSectSize)<BR>            End If<BR>            If Len(s_Temp) >= s_Size Then<BR>                Exit Do<BR>            End If<BR>        Loop<BR>        MyShortSectorReader = Mid(s_Temp, 1, s_Size)<BR>    End Function<BR><BR>    Function MyLongSectorReader(ByVal s_ReturnType, ByVal s_SectSize, ByVal s_SID, ByVal s_Size, ByVal s_FileName, ByVal s_SAT)<BR>        ' **********************************************************************************<BR>        ' Description : Reads a number of characters from the short sector container which<BR>        '               is held in the memory variable s_ShortSat. The a_SSAT is a directory<BR>        '               array which tell you how to access the s_ShortSat<BR>        ' Arguments   : <<BR>        '               <s_SectSize>          The size of the sectors to be read<BR>        '               <s_SID>               The particluar sector to be read within s_ShortSat<BR>        '               <s_Size>              The size of the value to return<BR>        '               <a_SSAT>              The array which contains the details of how to<BR>        '                                     access the s_ShortSat<BR>        '               <s_ShortSat>          This is the short container stream read from<BR>        '                                     the file<BR>        ' Created     : 31/12/2005<BR>        ' Version     : 1.0<BR>        ' **********************************************************************************<BR>        Dim M_Y<BR>        Dim s_Temp = Nothing<BR>        Dim o_FSO<BR>        Dim o_File<BR>        Dim M_X<BR>        Dim s_Start<BR>        Dim s_Previous<BR>        Dim s_Sects<BR><BR>        M_X = s_Size<BR>        MyLongSectorReader = ""<BR>        If s_ReturnType = "FILE" Then<BR><BR>            ' Create object and the file<BR>            o_FSO = My.Computer.FileSystem<BR><BR>            s_Temp = o_FSO.GetSpecialFolder(2) & "\" & o_FSO.GetTempName<BR>            o_File = o_FSO.CreateTextFile(s_Temp, True, False)<BR><BR>            M_Y = s_SID<BR>            o_File.Write(MySectorReader(s_SectSize, M_Y, s_FileName))<BR>            M_X = M_X - s_SectSize<BR><BR>            s_Previous = -99<BR>            s_Sects = 0<BR>            s_Start = 0<BR>            Do While True<BR><BR>                M_Y = MyVBNumber(Mid(s_SAT, (M_Y * 4) + 1, 4))<BR><BR>                If s_Previous = M_Y - 1 Then<BR><BR>                    s_Previous = M_Y<BR>                    s_Sects = s_Sects + 1<BR><BR>                ElseIf s_Previous <> M_Y - 1 Then<BR><BR>                    If s_Sects > 0 Then<BR><BR>                        M_X = M_X - (s_SectSize * s_Sects)<BR>                        o_File.Write(MyMultiSectorReader(s_SectSize, s_Start, s_FileName, s_Sects))<BR><BR>                    End If<BR><BR>                    s_Previous = M_Y<BR>                    s_Sects = 1<BR>                    s_Start = M_Y<BR><BR>                End If<BR><BR>                If M_X <= 0 Then<BR>                    Exit Do<BR>                End If<BR><BR>            Loop<BR><BR>            o_File.Close()<BR><BR>        ElseIf s_ReturnType = "VARIABLE" Then<BR><BR>            M_Y = s_SID<BR>            s_Temp = MySectorReader(s_SectSize, M_Y, s_FileName)<BR><BR>            Do While True<BR><BR>                M_Y = MyVBNumber(Mid(s_SAT, (M_Y * 4) + 1, 4))<BR>                If M_Y > 0 Then<BR>                    s_Temp = s_Temp & MySectorReader(s_SectSize, M_Y, s_FileName)<BR>                End If<BR>                If Len(s_Temp) >= s_Size Then<BR>                    Exit Do<BR>                End If<BR>            Loop<BR><BR>            s_Temp = Mid(s_Temp, 1, s_Size)<BR><BR>        End If<BR>        MyLongSectorReader = s_Temp<BR>    End Function<BR><BR>    Function MyMultiSectorReader(ByVal s_SectSize, ByVal s_SID, ByVal s_FileName, ByVal s_Number)<BR>        ' **********************************************************************************<BR>        ' Description : Reads a number of characters from a particular sector in a file<BR>        ' Arguments   : <s_SectSize>     The size of the sectors to be read<BR>        '               <s_SID>          The particluar sector to be read<BR>        '               <s_FileName>     The filename which they are to be read from<BR>        '               <s_Number>       The number of sectors to read<BR>        ' Created     : 01/01/2006<BR>        ' Version     : 1.0<BR>        ' **********************************************************************************<BR>        Dim o_FSO<BR>        Dim o_File<BR><BR>        ' Create object and get the file<BR>        o_FSO = My.Computer.FileSystem<BR><BR>        If Not o_FSO.FileExists(s_FileName) Then<BR>            MyMultiSectorReader = ""<BR>            Exit Function<BR>        End If<BR>        If UCase(Right(s_FileName, 4)) <> ".MSG" Then<BR>            MyMultiSectorReader = ""<BR>            Exit Function<BR>        End If<BR><BR>        o_File = o_FSO.OpenTextFile(s_FileName, 1, -1)<BR><BR>        ' Now read up to the sector<BR>        o_File.Skip((s_SID * s_SectSize) + s_SectSize)<BR><BR>        ' Now read the sector itself<BR>        On Error Resume Next<BR>        MyMultiSectorReader = o_File.Read(s_SectSize * s_Number)<BR><BR>        o_File.Close()<BR>        o_File = Nothing<BR>        o_FSO = Nothing<BR>    End Function<BR><BR>    Function MyGregorianDate(ByVal l_Val)<BR>        ' **********************************************************************************<BR>        ' Description : Returns a date from a property tag in Outlook properties<BR>        ' Arguments   : <l_Val>     The VB number to convert<BR>        ' Created     : 03/02/2007<BR>        ' Version     : 1.0<BR>        ' **********************************************************************************<BR>        Dim l_FracSecs<BR>        Dim l_RemSecs<BR>        Dim l_Secs<BR>        Dim l_RemMins<BR>        Dim l_Mins<BR>        Dim l_RemHours<BR>        Dim l_Hours<BR>        Dim l_RemDays<BR>        Dim l_Year<BR>        Dim l_RemDays2<BR><BR>        l_FracSecs = ((l_Val / 10000000) - Int(l_Val / 10000000)) * 10000000<BR>        l_RemSecs = l_Val / 10000000<BR>        l_Secs = Math.Round(((l_RemSecs / 60) - Int(l_RemSecs / 60)) * 60, 0)<BR>        l_RemMins = Int(l_RemSecs / 60)<BR>        l_Mins = Math.Round(((l_RemMins / 60) - Int(l_RemMins / 60)) * 60, 0)<BR>        l_RemHours = Int(l_RemMins / 60)<BR>        l_Hours = Math.Round(((l_RemHours / 24) - Int(l_RemHours / 24)) * 24, 0)<BR>        l_RemDays = Int(l_RemHours / 24)<BR>        l_Year = 1601 + Int(l_RemDays / 365)<BR>        'l_RemDays2 = 109572 + DateSerial(l_Year, 1, 1) - DateSerial(1901, 1, 1)<BR>        'MyGregorianDate = DateAdd("d", l_RemDays - l_RemDays2, "01/01/" & l_Year)<BR>        'MyGregorianDate = DateAdd("h", l_Hours, MyGregorianDate)<BR>        'MyGregorianDate = DateAdd("n", l_Mins, MyGregorianDate)<BR>        'MyGregorianDate = DateAdd("s", l_Secs, MyGregorianDate)<BR><BR>        If Year(MyGregorianDate) < 1902 Then<BR>            MyGregorianDate = ""<BR>        End If<BR>    End Function<BR><BR>    Function MySubRead(ByVal l_Left, ByVal l_Right, ByVal a_Dir, ByVal a_Temp)<BR>        MySubRead = Nothing<BR>        ' **********************************************************************************<BR>        ' Description : Reads a directory structure backwards and forwards<BR>        ' Arguments   : <l_Val>     The directory entry<BR>        ' Created     : 23/02/2007<BR>        ' Version     : 1.0<BR>        ' **********************************************************************************<BR>        Dim M_X<BR><BR>        For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>            If a_Dir(0, M_X) = l_Left Then<BR><BR><BR>                If a_Dir(3, M_X) <> -1 Then<BR>                    MySubRead(a_Dir(3, M_X), -1, a_Dir, a_Temp)<BR>                End If<BR><BR>                If a_Dir(5, M_X) = -1 Then<BR><BR>                    ' Add to final array<BR>                    ReDim Preserve a_Temp(8, MyArrayLen(a_Temp, 2) + 1)<BR><BR>                    a_Temp(0, MyArrayLen(a_Temp, 2) - 1) = a_Dir(0, M_X)<BR>                    a_Temp(1, MyArrayLen(a_Temp, 2) - 1) = a_Dir(1, M_X)<BR>                    a_Temp(2, MyArrayLen(a_Temp, 2) - 1) = a_Dir(2, M_X)<BR>                    a_Temp(3, MyArrayLen(a_Temp, 2) - 1) = a_Dir(3, M_X)<BR>                    a_Temp(4, MyArrayLen(a_Temp, 2) - 1) = a_Dir(4, M_X)<BR>                    a_Temp(5, MyArrayLen(a_Temp, 2) - 1) = a_Dir(5, M_X)<BR>                    a_Temp(6, MyArrayLen(a_Temp, 2) - 1) = a_Dir(6, M_X)<BR>                    a_Temp(7, MyArrayLen(a_Temp, 2) - 1) = a_Dir(7, M_X)<BR><BR>                End If<BR><BR>            End If<BR><BR><BR>        Next<BR><BR>        For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>            If a_Dir(0, M_X) = l_Left Then<BR><BR>                If a_Dir(4, M_X) <> -1 Then<BR>                    MySubRead(-1, a_Dir(4, M_X), a_Dir, a_Temp)<BR>                End If<BR><BR>            End If<BR><BR>        Next<BR><BR>        For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>            If a_Dir(0, M_X) = l_Right Then<BR><BR><BR>                If a_Dir(3, M_X) <> -1 Then<BR>                    MySubRead(a_Dir(3, M_X), -1, a_Dir, a_Temp)<BR>                End If<BR><BR>                If a_Dir(5, M_X) = -1 Then<BR>                    ' Add to final array<BR>                    ReDim Preserve a_Temp(8, MyArrayLen(a_Temp, 2) + 1)<BR><BR>                    a_Temp(0, MyArrayLen(a_Temp, 2) - 1) = a_Dir(0, M_X)<BR>                    a_Temp(1, MyArrayLen(a_Temp, 2) - 1) = a_Dir(1, M_X)<BR>                    a_Temp(2, MyArrayLen(a_Temp, 2) - 1) = a_Dir(2, M_X)<BR>                    a_Temp(3, MyArrayLen(a_Temp, 2) - 1) = a_Dir(3, M_X)<BR>                    a_Temp(4, MyArrayLen(a_Temp, 2) - 1) = a_Dir(4, M_X)<BR>                    a_Temp(5, MyArrayLen(a_Temp, 2) - 1) = a_Dir(5, M_X)<BR>                    a_Temp(6, MyArrayLen(a_Temp, 2) - 1) = a_Dir(6, M_X)<BR>                    a_Temp(7, MyArrayLen(a_Temp, 2) - 1) = a_Dir(7, M_X)<BR><BR>                End If<BR><BR>            End If<BR><BR>        Next<BR><BR>        For M_X = 0 To MyArrayLen(a_Dir, 2) - 1<BR><BR>            If a_Dir(0, M_X) = l_Right Then<BR><BR><BR>                If a_Dir(4, M_X) <> -1 Then<BR>                    MySubRead(-1, a_Dir(4, M_X), a_Dir, a_Temp)<BR>                End If<BR><BR>            End If<BR><BR>        Next<BR>    End Function<BR>End Module<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US><o:p> </o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-ansi-language: EN-US" lang=EN-US><o:p> </o:p></SPAN></P></bloghelper>?></span></p><img src ="http://blog.shareoffice.it/giannigiaccaglini/aggbug/10244.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Gianni Giaccaglini</dc:creator><title>Automazione dell’e-mail (con richiesta di aiuto)</title><link>http://blog.shareoffice.it/giannigiaccaglini/archive/2009/08/09/10228.aspx</link><pubDate>Sun, 09 Aug 2009 10:42:00 GMT</pubDate><guid>http://blog.shareoffice.it/giannigiaccaglini/archive/2009/08/09/10228.aspx</guid><wfw:comment>http://blog.shareoffice.it/giannigiaccaglini/comments/10228.aspx</wfw:comment><comments>http://blog.shareoffice.it/giannigiaccaglini/archive/2009/08/09/10228.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.shareoffice.it/giannigiaccaglini/comments/commentRss/10228.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/giannigiaccaglini/services/trackbacks/10228.aspx</trackback:ping><description>&lt;span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: Calibri; mso-fareast-language: IT; mso-bidi-language: AR-SA" lang="EN-US"&gt;
&lt;h1 style="MARGIN: 24pt 0cm 6pt"&gt;&lt;font size="5"&gt;&lt;font color="#365f91"&gt;&lt;font face="Cambria"&gt;Automazione dell’e-mail (con richiesta di aiuto)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h1&gt;
&lt;p style="MARGIN: 24pt 0cm 6pt"&gt;&lt;strong&gt;&lt;font color="#a52a2a" size="4" face="Tahoma"&gt;ULTIM'ORA. Alla richiesta è pervenuta una segnalazione interessante da un bravo &lt;em&gt;&lt;font color="#0000ff"&gt;Giorgio Villa&lt;/font&gt;&lt;/em&gt;. La incollo subito qui sotto (e va da sé che sarà bene leggere prima l'appello originario di un tal &lt;em&gt;&lt;font color="#0000ff"&gt;Filippo Rizzo&lt;/font&gt;&lt;/em&gt;:&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;font color="#a52a2a" size="4" face="Tahoma"&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoPlainText"&gt;&lt;font color="#000000" size="3" face="Consolas"&gt;Ho avuto il medesimo problema, non essendo farina del mio sacco, ho utilizzato i suggerimenti di una valida persona &lt;/font&gt;&lt;a href="http://www.rondebruin.nl/mail/folder1/mail3.htm"&gt;&lt;font size="3" face="Consolas"&gt;http://www.rondebruin.nl/mail/folder1/mail3.htm&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoPlainText"&gt;&lt;font color="#000000" size="3" face="Consolas"&gt;in alternativa&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoPlainText"&gt;&lt;a href="http://www.rondebruin.nl/mail/folder1/mail2.htm"&gt;&lt;font size="3" face="Consolas"&gt;http://www.rondebruin.nl/mail/folder1/mail2.htm&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoPlainText"&gt;&lt;a href="http://www.rondebruin.nl/mail/folder1/mail1.htm"&gt;&lt;font size="3" face="Consolas"&gt;http://www.rondebruin.nl/mail/folder1/mail1.htm&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0cm 0cm 0pt" class="MsoPlainText"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT color=#000000 size=3 face=Consolas&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 24pt 0cm 6pt"&gt;&lt;/FONT&gt;&lt;FONT color=#365f91&gt;&lt;FONT size=3 face=Cambria&gt;&lt;SPAN style="FONT-WEIGHT: normal; mso-bidi-font-weight: bold"&gt;&lt;o:p&gt;&lt;STRONG&gt;L'intervento originario di&amp;nbsp;Filippo Rizzi&lt;/STRONG&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 6pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Un visitatore, &lt;B style="mso-bidi-font-weight: normal"&gt;Filippo Rizzi&lt;/B&gt;, mi chiede una soluzione a un problema che lo affligge, relativo a un fastidioso messaggio di conferma che inesorabilmente gli appare quando utilizza una sua applicazione Excel VBA di spedizione automatica di messaggi di posta elettronica, precisamente in corrispondenza dell&amp;#8217;istruzione di invio (&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Send&lt;/I&gt;&lt;/B&gt;). Onestamente ho subito ammesso che la questione esulava dalle mie competenze anzi, peggio, un tempo mi sono dilettato con (semplici) routine del genere ma oggi come oggi non le ricordo. Cos&amp;#236; al volo ho solo suggerito l&amp;#8217;inserimento dell&amp;#8217;istruzione &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Application.DisplayAlerts = False&lt;/I&gt;&lt;/B&gt;, con un certo scetticismo &amp;#8220;a sentimento&amp;#8221; che potesse funzionare nella fattispecie (d&amp;#8217;altronde anche in altri casi essa delude le aspettative).&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 6pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;In prossimit&amp;#224; delle vacanze ho pensato di chiedere all&amp;#8217;autore di rivelare all&amp;#8217;inclita e al volgo la sua creatura, pubblicandola sul mio blog &lt;U&gt;con la richiesta pubblica di soccorso&lt;/U&gt; del genere chi-sa-parli.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 6pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;L&amp;#8217;e-mail del buon Filippo &amp;#232; riportata qui sotto:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 6pt" class=MsoNormal&gt;&lt;A href="mailto:filippo.rizzo@telecomitalia.it"&gt;&lt;FONT size=3 face=Calibri&gt;filippo.rizzo@telecomitalia.it&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 6pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Ed ecco la sua replica:&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 1pt; PADDING-LEFT: 4pt; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 1pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div"&gt;
&lt;P style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #984806; mso-themecolor: accent6; mso-themeshade: 128"&gt;Fornisco volentieri il codice che utilizzo, ma il guaio &amp;#232; che anche con la con la funzione di DisplayAlerts = False la protezione di Windows (prevista dal service pack 3 in poi) mi blocca ed attende una CONFERMA (SI/NO/Annulla) e non c'&amp;#232; verso neanche di attenuare le protezioni do Outlook solo in quel momento.&lt;BR&gt;Dovrebbe essere possibile solo con CDOSYS o via SMTP, ma non riesco&lt;/SPAN&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Quanto alla routine si presenta sufficientemente chiara e ben commentata, perlomeno come ricetta. Pertanto mi limito a precisare che il procedimento utilizza il meccanismo di OLE Automation richiamando cio&amp;#232; &lt;B style="mso-bidi-font-weight: normal"&gt;Outlook &lt;/B&gt;con:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 6pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;Set App = CreateObject("Outlook.Application")&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 6pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Un altro mio piccolo ritocco &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;#232; l&amp;#8217;inserimento di un &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Exit Sub&lt;/I&gt;&lt;/B&gt; per il caso di assenza di materiale da spedire (l&amp;#8217;originale di Filippo prevedeva una &lt;I style="mso-bidi-font-style: normal"&gt;If &lt;/I&gt;completata dalla corrispettiva &lt;I style="mso-bidi-font-style: normal"&gt;End If &lt;/I&gt;a monte di &lt;I style="mso-bidi-font-style: normal"&gt;End Sub&lt;/I&gt;).&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 6pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Buona lettura e... meditazione.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;Private Sub CommandButton2_Click()&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Dim FileExtStr As String&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Dim FileFormatNum As Long&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Dim Sourcewb As Workbook&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Dim Destwb As Workbook&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Dim TempFilePath As String&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Dim TempFileName As String&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Dim OutApp As Object&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Dim OutMail As Object&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"&gt;Program = ThisWorkbook.Name&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Paraco = "Paraco" &lt;SPAN style="COLOR: #00b050"&gt;' Nome del foglio che contiene i PARAmetri di COntrollo&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;PathArchivie = _&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Workbooks(Program).Worksheets(Paraco).Cells(4, 2)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;FormatSave = Application.DefaultSaveFormat&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #00b050; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"&gt;' Carico la lista dei file dal percorso previsto&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;NomiFiles = ScanDir(PathArchivie &amp;amp; "\", Lista)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;NFiles = UBound(Lista)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If NFiles = 0 Then Exit Sub &lt;SPAN style="COLOR: #00b050"&gt;' Nulla da spedire&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;With Application&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.ScreenUpdating = False&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;.EnableEvents = False&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;End With&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #00b050; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"&gt;' Carico Oggetto e corpo della mail dal foglio dei parametri&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;ESubject = _&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Workbooks(Program).Worksheets(Paraco).Cells(2, 12)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Ebody = Workbooks(Program).Worksheets(Paraco).Cells(3, 12)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #00b050; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;' qui faccio l'invio dei file che ho trovato&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For f = 0 To UBound(Lista)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;sendto = "indirzzo&lt;A href="mailto:indirzzo@server"&gt;&lt;SPAN style="COLOR: black"&gt;@server&lt;/SPAN&gt;&lt;/A&gt;"&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;CCTo = "indirzzo&lt;A href="mailto:indirzzo@server"&gt;&lt;SPAN style="COLOR: black"&gt;@server&lt;/SPAN&gt;&lt;/A&gt;"&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;NewFileName = PathArchivie &amp;amp; "\" &amp;amp; Lista(f)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #00b050; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;' qui imposto l'applicazione Outlook&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Set App = CreateObject("Outlook.Application")&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Set Itm = App.CreateItem(0)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;With Itm&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;.subject = ESubject&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;.To = sendto&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;.CC = CCTo&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;.body = Ebody&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;.Attachments.Add (NewFileName)&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Application.DisplayAlerts = False &lt;SPAN style="COLOR: #00b050"&gt;&amp;#8216; Purtroppo delude&amp;#8230;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;.Send&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;End With&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Set App = Nothing&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Set Itm = Nothing&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Next f&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;With Application&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;.ScreenUpdating = True&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;.EnableEvents = True&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;End With&lt;BR&gt;End Sub&lt;/SPAN&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: EN-US" lang=EN-US&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/BLOGHELPER&gt;?&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;H1&gt;&lt;/H1&gt;&lt;/SPAN&gt;&lt;/bloghelper&gt;?&gt;&lt;/p&gt;&lt;/font&gt;&lt;/span&gt;&lt;img src ="http://blog.shareoffice.it/giannigiaccaglini/aggbug/10228.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><span style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: Calibri; mso-fareast-language: IT; mso-bidi-language: AR-SA" lang="EN-US">
<h1 style="MARGIN: 24pt 0cm 6pt"><font size="5"><font color="#365f91"><font face="Cambria">Automazione dell’e-mail (con richiesta di aiuto)</font></font></font></h1>
<p style="MARGIN: 24pt 0cm 6pt"><strong><font color="#a52a2a" size="4" face="Tahoma">ULTIM'ORA. Alla richiesta è pervenuta una segnalazione interessante da un bravo <em><font color="#0000ff">Giorgio Villa</font></em>. La incollo subito qui sotto (e va da sé che sarà bene leggere prima l'appello originario di un tal <em><font color="#0000ff">Filippo Rizzo</font></em>:</font></strong></p><font color="#a52a2a" size="4" face="Tahoma">
<p style="MARGIN: 0cm 0cm 0pt" class="MsoPlainText"><font color="#000000" size="3" face="Consolas">Ho avuto il medesimo problema, non essendo farina del mio sacco, ho utilizzato i suggerimenti di una valida persona </font><a href="http://www.rondebruin.nl/mail/folder1/mail3.htm"><font size="3" face="Consolas">http://www.rondebruin.nl/mail/folder1/mail3.htm</font></a></p>
<p style="MARGIN: 0cm 0cm 0pt" class="MsoPlainText"><font color="#000000" size="3" face="Consolas">in alternativa</font></p>
<p style="MARGIN: 0cm 0cm 0pt" class="MsoPlainText"><a href="http://www.rondebruin.nl/mail/folder1/mail2.htm"><font size="3" face="Consolas">http://www.rondebruin.nl/mail/folder1/mail2.htm</font></a></p>
<p style="MARGIN: 0cm 0cm 0pt" class="MsoPlainText"><a href="http://www.rondebruin.nl/mail/folder1/mail1.htm"><font size="3" face="Consolas">http://www.rondebruin.nl/mail/folder1/mail1.htm</font></a></p>
<p style="MARGIN: 0cm 0cm 0pt" class="MsoPlainText"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p><FONT color=#000000 size=3 face=Consolas>&nbsp;</FONT></o:p></P>
<P style="MARGIN: 24pt 0cm 6pt"></FONT><FONT color=#365f91><FONT size=3 face=Cambria><SPAN style="FONT-WEIGHT: normal; mso-bidi-font-weight: bold"><o:p><STRONG>L'intervento originario di&nbsp;Filippo Rizzi</STRONG></o:p></SPAN></FONT></FONT></P>
<P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 6pt" class=MsoNormal><FONT size=3 face=Calibri>Un visitatore, <B style="mso-bidi-font-weight: normal">Filippo Rizzi</B>, mi chiede una soluzione a un problema che lo affligge, relativo a un fastidioso messaggio di conferma che inesorabilmente gli appare quando utilizza una sua applicazione Excel VBA di spedizione automatica di messaggi di posta elettronica, precisamente in corrispondenza dell&#8217;istruzione di invio (<B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal">Send</I></B>). Onestamente ho subito ammesso che la questione esulava dalle mie competenze anzi, peggio, un tempo mi sono dilettato con (semplici) routine del genere ma oggi come oggi non le ricordo. Cos&#236; al volo ho solo suggerito l&#8217;inserimento dell&#8217;istruzione <B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal">Application.DisplayAlerts = False</I></B>, con un certo scetticismo &#8220;a sentimento&#8221; che potesse funzionare nella fattispecie (d&#8217;altronde anche in altri casi essa delude le aspettative).</FONT></P>
<P style="MARGIN: 0cm 0cm 6pt" class=MsoNormal><FONT size=3 face=Calibri>In prossimit&#224; delle vacanze ho pensato di chiedere all&#8217;autore di rivelare all&#8217;inclita e al volgo la sua creatura, pubblicandola sul mio blog <U>con la richiesta pubblica di soccorso</U> del genere chi-sa-parli.</FONT></P>
<P style="MARGIN: 0cm 0cm 6pt" class=MsoNormal><FONT size=3 face=Calibri>L&#8217;e-mail del buon Filippo &#232; riportata qui sotto:</FONT></P>
<P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 6pt" class=MsoNormal><A href="mailto:filippo.rizzo@telecomitalia.it"><FONT size=3 face=Calibri>filippo.rizzo@telecomitalia.it</FONT></A></P>
<P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 6pt" class=MsoNormal><FONT size=3 face=Calibri>Ed ecco la sua replica:</FONT></P>
<DIV style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 1pt; PADDING-LEFT: 4pt; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 1pt; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div">
<P style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class=MsoNormal><FONT size=3><FONT face=Calibri><SPAN style="COLOR: #984806; mso-themecolor: accent6; mso-themeshade: 128">Fornisco volentieri il codice che utilizzo, ma il guaio &#232; che anche con la con la funzione di DisplayAlerts = False la protezione di Windows (prevista dal service pack 3 in poi) mi blocca ed attende una CONFERMA (SI/NO/Annulla) e non c'&#232; verso neanche di attenuare le protezioni do Outlook solo in quel momento.<BR>Dovrebbe essere possibile solo con CDOSYS o via SMTP, ma non riesco</SPAN>.</FONT></FONT></P></DIV>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></P>
<P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 0pt" class=MsoNormal><FONT size=3 face=Calibri>Quanto alla routine si presenta sufficientemente chiara e ben commentata, perlomeno come ricetta. Pertanto mi limito a precisare che il procedimento utilizza il meccanismo di OLE Automation richiamando cio&#232; <B style="mso-bidi-font-weight: normal">Outlook </B>con:</FONT></P>
<P style="TEXT-ALIGN: justify; MARGIN: 0cm 0cm 6pt" class=MsoNormal><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US>Set App = CreateObject("Outlook.Application")<o:p></o:p></SPAN></B></P>
<P style="MARGIN: 0cm 0cm 6pt" class=MsoNormal><FONT size=3 face=Calibri>Un altro mio piccolo ritocco <SPAN style="mso-spacerun: yes">&nbsp;</SPAN>&#232; l&#8217;inserimento di un <B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal">Exit Sub</I></B> per il caso di assenza di materiale da spedire (l&#8217;originale di Filippo prevedeva una <I style="mso-bidi-font-style: normal">If </I>completata dalla corrispettiva <I style="mso-bidi-font-style: normal">End If </I>a monte di <I style="mso-bidi-font-style: normal">End Sub</I>).</FONT></P>
<P style="MARGIN: 0cm 0cm 6pt" class=MsoNormal><FONT size=3 face=Calibri>Buona lettura e... meditazione.</FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US>Private Sub CommandButton2_Click()<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim FileExtStr As String<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim FileFormatNum As Long<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim Sourcewb As Workbook<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim Destwb As Workbook<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim TempFilePath As String<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim TempFileName As String<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim OutApp As Object<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim OutMail As Object<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US><o:p>&nbsp;</o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN></SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">Program = ThisWorkbook.Name<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Paraco = "Paraco" <SPAN style="COLOR: #00b050">' Nome del foglio che contiene i PARAmetri di COntrollo</SPAN><BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>PathArchivie = _<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Workbooks(Program).Worksheets(Paraco).Cells(4, 2)<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>FormatSave = Application.DefaultSaveFormat<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #00b050; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">' Carico la lista dei file dal percorso previsto<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>NomiFiles = ScanDir(PathArchivie &amp; "\", Lista)<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>NFiles = UBound(Lista)<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>If NFiles = 0 Then Exit Sub <SPAN style="COLOR: #00b050">' Nulla da spedire</SPAN><BR><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>With Application<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>.ScreenUpdating = False<BR><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN>.EnableEvents = False<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN>End With<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #00b050; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">' Carico Oggetto e corpo della mail dal foglio dei parametri<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>ESubject = _<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Workbooks(Program).Worksheets(Paraco).Cells(2, 12)<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Ebody = Workbooks(Program).Worksheets(Paraco).Cells(3, 12)<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #00b050; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>' qui faccio l'invio dei file che ho trovato</SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"><BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>For f = 0 To UBound(Lista)<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>sendto = "indirzzo<A href="mailto:indirzzo@server"><SPAN style="COLOR: black">@server</SPAN></A>"<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>CCTo = "indirzzo<A href="mailto:indirzzo@server"><SPAN style="COLOR: black">@server</SPAN></A>"<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>NewFileName = PathArchivie &amp; "\" &amp; Lista(f)<o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'; COLOR: #00b050; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US>' qui imposto l'applicazione Outlook</SPAN><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt; mso-ansi-language: EN-US" lang=EN-US><BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Set App = CreateObject("Outlook.Application")<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Set Itm = App.CreateItem(0)<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>With Itm<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>.subject = ESubject<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>.To = sendto<BR><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>.CC = CCTo<BR><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>.body = Ebody<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>.Attachments.Add (NewFileName)<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;</SPAN>Application.DisplayAlerts = False <SPAN style="COLOR: #00b050">&#8216; Purtroppo delude&#8230;</SPAN><BR><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>.Send<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>End With<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Set App = Nothing<BR><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Set Itm = Nothing<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN>Next f<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>With Application<BR><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>.ScreenUpdating = True<BR><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>.EnableEvents = True<BR><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>End With<BR>End Sub</SPAN><SPAN style="mso-ansi-language: EN-US" lang=EN-US><o:p></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="mso-ansi-language: EN-US" lang=EN-US><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><SPAN style="mso-ansi-language: EN-US" lang=EN-US><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></SPAN></P></SPAN></BLOGHELPER>?&gt;</SPAN></FONT></FONT>
<H1></H1></SPAN></bloghelper>?></p></font></span><img src ="http://blog.shareoffice.it/giannigiaccaglini/aggbug/10228.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Gianni Giaccaglini</dc:creator><title>Disattivare le barre strumenti = pericolo! (Office 2003)</title><link>http://blog.shareoffice.it/giannigiaccaglini/archive/2007/05/05/9021.aspx</link><pubDate>Sat, 05 May 2007 11:34:00 GMT</pubDate><guid>http://blog.shareoffice.it/giannigiaccaglini/archive/2007/05/05/9021.aspx</guid><wfw:comment>http://blog.shareoffice.it/giannigiaccaglini/comments/9021.aspx</wfw:comment><comments>http://blog.shareoffice.it/giannigiaccaglini/archive/2007/05/05/9021.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.shareoffice.it/giannigiaccaglini/comments/commentRss/9021.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/giannigiaccaglini/services/trackbacks/9021.aspx</trackback:ping><description>&lt;font size="6"&gt;
&lt;p&gt;Disattivare le barre strumenti = pericolo! (Office 2003)&lt;/p&gt;&lt;/font&gt;&lt;font face="Arial" size="6"&gt;&lt;/font&gt;&lt;font face="Arial"&gt;
&lt;p&gt;Queste annotazioni si rivolgono a quanti ancora utilizzano Office 2003. Infatti, come ho fatto notare in un altro mio intervento, le precedenti barre strumenti default sono di fatto ignorate in Office 2007, ove tali funzionalità sono assorbite dalla nuova Barra multifunzione, alias Ribbon. Pertanto le routine che sto per descrivere sono, di fatto, ininfluenti nel nuovo ambiente (alla faccia della compatibilità? beh, così va il mondo...).&lt;/p&gt;
&lt;p&gt;Sia come sia, ecco due tipiche routine per Excel, Word o altri applicativi dell'agonizzante banda 2003, la prima volta a sgombrare il campo da barre strumenti e altre sovrastrutture per dare massima visibilità e, insieme, inibire il maggior numero di comandi all'utente finale, la seconda per ripristinare la situazione normale, solitamente e auspicabilmente (v. tra poco) alla chiusura del documento.&lt;/p&gt;&lt;/font&gt;&lt;font face="Courier New" size="2"&gt;
&lt;p&gt;Sub Disattivazione()&lt;/p&gt;
&lt;p&gt;'Disattiva Barre&lt;/p&gt;
&lt;p&gt;Dim CmdBar As CommandBar&lt;/p&gt;
&lt;p&gt;For Each CmdBar in Application.CommandBars&lt;/p&gt;
&lt;p&gt;CmdBar.Enabled = False&lt;/p&gt;
&lt;p&gt;Next&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;'Altre disattivazioni&lt;/p&gt;
&lt;p&gt;With ActiveWindow&lt;/p&gt;
&lt;p&gt;.DisplayHeadings = False&lt;/p&gt;
&lt;p&gt;.DisplayWorkbookTabs = False&lt;/p&gt;
&lt;p&gt;End With&lt;/p&gt;
&lt;p&gt;With Application&lt;/p&gt;
&lt;p&gt;.DisplayFormulaBar = False&lt;/p&gt;
&lt;p&gt;.DisplayStatusBar = False&lt;/p&gt;
&lt;p&gt;.ShowWindowsInTaskbar = False&lt;/p&gt;
&lt;p&gt;End With&lt;/p&gt;
&lt;p&gt;End Sub&lt;/p&gt;&lt;/font&gt;&lt;font face="Arial" size="2"&gt;&lt;/font&gt;&lt;font face="Courier New" size="2"&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Sub Attivazione()&lt;/p&gt;
&lt;p&gt;'Riattiva Barre&lt;/p&gt;
&lt;p&gt;Dim CmdBar As CommandBar&lt;/p&gt;
&lt;p&gt;For Each CmdBar in Application.CommandBars&lt;/p&gt;
&lt;p&gt;CmdBar.Enabled = True&lt;/p&gt;
&lt;p&gt;Next&lt;/p&gt;
&lt;p&gt;'Altre riattivazioni&lt;/p&gt;
&lt;p&gt;With ActiveWindow&lt;/p&gt;
&lt;p&gt;.DisplayHeadings = True&lt;/p&gt;
&lt;p&gt;.DisplayWorkbookTabs = True&lt;/p&gt;
&lt;p&gt;End With&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;With Application&lt;/p&gt;
&lt;p&gt;.DisplayFormulaBar = True&lt;/p&gt;
&lt;p&gt;.DisplayStatusBar = True&lt;/p&gt;
&lt;p&gt;.ShowWindowsInTaskbar = True&lt;/p&gt;
&lt;p&gt;End With&lt;/p&gt;
&lt;p&gt;End Sub&lt;/p&gt;&lt;/font&gt;&lt;font face="Arial" size="2"&gt;&lt;/font&gt;&lt;b&gt;&lt;font face="Arial"&gt;
&lt;p&gt;
&lt;/p&gt;&lt;hr /&gt;
Nota &lt;/font&gt;&lt;/b&gt;- Si parla di modelli "chiusi", che gli inglesi definiscono come "dictatory application".
&lt;p&gt;
&lt;/p&gt;&lt;hr /&gt;
Focalizzando il discorso sulle barre va subito stigmatizzato un effetto collaterale indesiderato, probabilmente inatteso da chi ha escogitalo il ciclo &lt;b&gt;&lt;i&gt;For Each CmdBar... Next &lt;/i&gt;&lt;/b&gt;: &lt;u&gt;se, disgraziatamente, per qualche interruzione imprevista &lt;i&gt;Attivazione&lt;/i&gt; non v iene lanciata l'utente finale si trova a non più disporre di NESSUNA barra, inclusa quella del menu!&lt;/u&gt; Inutile infatti che costui si affanni col clic sull'area delle barre, non le vedrà più, neanche chiudendo e rilanciando Excel o Word.
&lt;p&gt;Una brutta faccenda che, come si comprende, potrebbe nuocere alla popolarità dell'ingegnoso quanto incauto sviluppatore...&lt;/p&gt;&lt;b&gt;
&lt;p&gt;Primo rimedio (parziale)&lt;/p&gt;&lt;/b&gt;
&lt;p&gt;Potrebbe consistere nell'occultare anziché disabilitare. In tal caso però - diosaperché, io no - la proprietà &lt;i&gt;Visible = False &lt;/i&gt;non si lascia applicare alla barra dei menu, e chi si accontenta dovrebbe limitarsi al ciclo seguente:&lt;/p&gt;&lt;font face="Courier New" size="2"&gt;
&lt;p&gt;'Nascondi Barre (tranne quella dei menu)&lt;/p&gt;
&lt;p&gt;Dim i As Integer&lt;/p&gt;
&lt;p&gt;For i = 1 to Application.CommandBars.Count&lt;/p&gt;
&lt;p&gt;CommandBars(i).Visible = False&lt;/p&gt;
&lt;p&gt;Next&lt;/p&gt;&lt;/font&gt;&lt;b&gt;&lt;font face="Arial"&gt;
&lt;p&gt;Secondo rimedio (un po' migliore)&lt;/p&gt;&lt;/font&gt;&lt;/b&gt;
&lt;p&gt;Agli amanti dei modelli dittatoriali, di sicuro insoddisfatti della soluzione appena vista, suggerisco infine di aggiungere l'istruzione seguente:&lt;/p&gt;&lt;font face="Courier New" size="2"&gt;
&lt;p&gt;CommandBars("File").Enabled = False&lt;/p&gt;&lt;/font&gt;&lt;font face="Arial"&gt;
&lt;p&gt;che disabilita il solo menu &lt;b&gt;File&lt;/b&gt;, ostacolando operazioni di salvataggio e stampa da parte dell'utente non programmate dal codice VBA. Infatti stavolta alla chiurura del modello anche in assenza dell'istruzione riabilitante &lt;/p&gt;&lt;/font&gt;&lt;i&gt;&lt;font face="Arial"&gt;CommandBars("File").Enabled = True &lt;/font&gt;&lt;/i&gt;il menu &lt;b&gt;File&lt;/b&gt; torna attivo e pimpante.&lt;i&gt;&lt;font face="Arial" size="2"&gt;&lt;/font&gt;&lt;/i&gt;&lt;b&gt;&lt;font face="Arial"&gt;
&lt;p&gt;
&lt;/p&gt;&lt;hr /&gt;
Nota &lt;/font&gt;&lt;/b&gt;- Ovviamente stiamo parlando di palliativi, a fronte dei comandi manuali che restano invita, come &lt;b&gt;Maiusc &lt;/b&gt;+ &lt;b&gt;F12 &lt;/b&gt;per salvare file.
&lt;p&gt;
&lt;/p&gt;&lt;hr /&gt;
&lt;img src ="http://blog.shareoffice.it/giannigiaccaglini/aggbug/9021.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><font size="6">
<p>Disattivare le barre strumenti = pericolo! (Office 2003)</p></font><font face="Arial" size="6"></font><font face="Arial">
<p>Queste annotazioni si rivolgono a quanti ancora utilizzano Office 2003. Infatti, come ho fatto notare in un altro mio intervento, le precedenti barre strumenti default sono di fatto ignorate in Office 2007, ove tali funzionalità sono assorbite dalla nuova Barra multifunzione, alias Ribbon. Pertanto le routine che sto per descrivere sono, di fatto, ininfluenti nel nuovo ambiente (alla faccia della compatibilità? beh, così va il mondo...).</p>
<p>Sia come sia, ecco due tipiche routine per Excel, Word o altri applicativi dell'agonizzante banda 2003, la prima volta a sgombrare il campo da barre strumenti e altre sovrastrutture per dare massima visibilità e, insieme, inibire il maggior numero di comandi all'utente finale, la seconda per ripristinare la situazione normale, solitamente e auspicabilmente (v. tra poco) alla chiusura del documento.</p></font><font face="Courier New" size="2">
<p>Sub Disattivazione()</p>
<p>'Disattiva Barre</p>
<p>Dim CmdBar As CommandBar</p>
<p>For Each CmdBar in Application.CommandBars</p>
<p>CmdBar.Enabled = False</p>
<p>Next</p>
<p></p>
<p>'Altre disattivazioni</p>
<p>With ActiveWindow</p>
<p>.DisplayHeadings = False</p>
<p>.DisplayWorkbookTabs = False</p>
<p>End With</p>
<p>With Application</p>
<p>.DisplayFormulaBar = False</p>
<p>.DisplayStatusBar = False</p>
<p>.ShowWindowsInTaskbar = False</p>
<p>End With</p>
<p>End Sub</p></font><font face="Arial" size="2"></font><font face="Courier New" size="2">
<p> </p>
<p>Sub Attivazione()</p>
<p>'Riattiva Barre</p>
<p>Dim CmdBar As CommandBar</p>
<p>For Each CmdBar in Application.CommandBars</p>
<p>CmdBar.Enabled = True</p>
<p>Next</p>
<p>'Altre riattivazioni</p>
<p>With ActiveWindow</p>
<p>.DisplayHeadings = True</p>
<p>.DisplayWorkbookTabs = True</p>
<p>End With</p>
<p></p>
<p>With Application</p>
<p>.DisplayFormulaBar = True</p>
<p>.DisplayStatusBar = True</p>
<p>.ShowWindowsInTaskbar = True</p>
<p>End With</p>
<p>End Sub</p></font><font face="Arial" size="2"></font><b><font face="Arial">
<p>
</p><hr />
Nota </font></b>- Si parla di modelli "chiusi", che gli inglesi definiscono come "dictatory application".
<p>
</p><hr />
Focalizzando il discorso sulle barre va subito stigmatizzato un effetto collaterale indesiderato, probabilmente inatteso da chi ha escogitalo il ciclo <b><i>For Each CmdBar... Next </i></b>: <u>se, disgraziatamente, per qualche interruzione imprevista <i>Attivazione</i> non v iene lanciata l'utente finale si trova a non più disporre di NESSUNA barra, inclusa quella del menu!</u> Inutile infatti che costui si affanni col clic sull'area delle barre, non le vedrà più, neanche chiudendo e rilanciando Excel o Word.
<p>Una brutta faccenda che, come si comprende, potrebbe nuocere alla popolarità dell'ingegnoso quanto incauto sviluppatore...</p><b>
<p>Primo rimedio (parziale)</p></b>
<p>Potrebbe consistere nell'occultare anziché disabilitare. In tal caso però - diosaperché, io no - la proprietà <i>Visible = False </i>non si lascia applicare alla barra dei menu, e chi si accontenta dovrebbe limitarsi al ciclo seguente:</p><font face="Courier New" size="2">
<p>'Nascondi Barre (tranne quella dei menu)</p>
<p>Dim i As Integer</p>
<p>For i = 1 to Application.CommandBars.Count</p>
<p>CommandBars(i).Visible = False</p>
<p>Next</p></font><b><font face="Arial">
<p>Secondo rimedio (un po' migliore)</p></font></b>
<p>Agli amanti dei modelli dittatoriali, di sicuro insoddisfatti della soluzione appena vista, suggerisco infine di aggiungere l'istruzione seguente:</p><font face="Courier New" size="2">
<p>CommandBars("File").Enabled = False</p></font><font face="Arial">
<p>che disabilita il solo menu <b>File</b>, ostacolando operazioni di salvataggio e stampa da parte dell'utente non programmate dal codice VBA. Infatti stavolta alla chiurura del modello anche in assenza dell'istruzione riabilitante </p></font><i><font face="Arial">CommandBars("File").Enabled = True </font></i>il menu <b>File</b> torna attivo e pimpante.<i><font face="Arial" size="2"></font></i><b><font face="Arial">
<p>
</p><hr />
Nota </font></b>- Ovviamente stiamo parlando di palliativi, a fronte dei comandi manuali che restano invita, come <b>Maiusc </b>+ <b>F12 </b>per salvare file.
<p>
</p><hr />
<img src ="http://blog.shareoffice.it/giannigiaccaglini/aggbug/9021.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Gianni Giaccaglini</dc:creator><title>Usare presto e bene Office 2007, anche on line (recensione)</title><link>http://blog.shareoffice.it/giannigiaccaglini/archive/2007/02/20/8919.aspx</link><pubDate>Tue, 20 Feb 2007 17:17:00 GMT</pubDate><guid>http://blog.shareoffice.it/giannigiaccaglini/archive/2007/02/20/8919.aspx</guid><wfw:comment>http://blog.shareoffice.it/giannigiaccaglini/comments/8919.aspx</wfw:comment><comments>http://blog.shareoffice.it/giannigiaccaglini/archive/2007/02/20/8919.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.shareoffice.it/giannigiaccaglini/comments/commentRss/8919.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/giannigiaccaglini/services/trackbacks/8919.aspx</trackback:ping><description>&lt;h1 style="MARGIN: 12pt 0cm 3pt"&gt;&lt;font face="Arial" size="5"&gt;Office 2007, qui comincia l’avventura, anche sul Web&lt;/font&gt;&lt;/h1&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 6pt"&gt;&lt;span style="mso-bidi-font-family: Arial"&gt;&lt;font face="Arial"&gt;&lt;img src="http://www.fag.it/immaginilibrialtaris/8882335887.jpg" /&gt;Questa guida introduttiva ha battuto i concorrenti uscendo per prima e con la benedizione di &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:PersonName ProductID="Microsoft Italia" w:st="on"&gt;&lt;st1:PersonName w:st="on"&gt;Microsoft&lt;/st1:PersonName&gt; Italia&lt;/st1:PersonName&gt;: prefazione a cura della medesima e omaggio ai partecipanti a un Convegno dedicato ai partner. Nell&amp;#8217;accingermi a recensirla, quasi non mi accorgevo che, nel frattempo, vi sono state aggiunte 68 pagine, dedicate all&amp;#8217;uso della versione on line del package, fruibile in virt&amp;#249; di una &amp;#8220;finestra&amp;#8221; (netframe) Citrix, evidenziandone anche i pregi documentari e didattici, come demo interattiva e quiz.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Il tutto a riprova del dinamismo di questo giovane editore che da qualche tempo offre al mercato testi, soprattutto (ma non solo) introduttivi di microinformatica a costi ragionevoli e con una simpatica veste editoriale. Anche la gentile autrice, una colonna delle Edizioni FAG, si deve esser data da fare, riuscendo nell&amp;#8217;intento di offrire una descrizione accurata e chiara dei connotati salienti di Office 2007 e senza limitarsi agli aspetti operativi e a quelli ergonomici, che pure abbondano in una suite esteticamente molto curata. I primi capitoli, infatti, spiegano a dovere la nuova struttura XML dei documenti Office, arrivando a illustrarne la fruibilit&amp;#224; anche in applicativi diversi da quelli di casa MS. Idem per la novit&amp;#224; (confondente, a parere di chi scrive) dei doppi formati, con e senza macro VBA.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Seguono capitoli dedicati, ciascuno, ai principali membri della neonata famiglia, focalizzandone opportunamente le novit&amp;#224;, a volte non immediate da scoprire (come la nuova casella delle formule di Excel, dimensionabile in modo da mostrare le formulacce pi&amp;#249; estese) e illustrando i potenziamenti pi&amp;#249; importanti. Opportuno ad esempio quello sulle tabelle, per restare a Excel, ma anche le migliorie di Word, PowerPoint, Access e Outlook sono ben trattate. Una sola omissione, strana anche se veniale: manca la citazione del cospicuo potenziamento in colonne e righe dei fogli di lavoro&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Arial; mso-ansi-language: IT; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: IT; mso-bidi-language: AR-SA"&gt;: 1.048.586 x 16.384&lt;/SPAN&gt; (di cui per&amp;#242; tutti si accorgono prestissimo). &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Insomma il libro &amp;#232; doppiamente utile per chi si avvicina a Office &lt;st1:metricconverter ProductID="2007, in" w:st="on"&gt;2007, in&lt;/st1:metricconverter&gt; modo sia virtuale che reale.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Alessandra Salvaggio&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Arial&gt;&lt;st1:PersonName w:st="on"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=EN-GB style="mso-bidi-font-family: Arial; mso-ansi-language: EN-GB"&gt;Microsoft&lt;/SPAN&gt;&lt;/B&gt;&lt;/st1:PersonName&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=EN-GB style="mso-bidi-font-family: Arial; mso-ansi-language: EN-GB"&gt; Office Sytem 2007 + &lt;st1:PersonName w:st="on"&gt;Microsoft&lt;/st1:PersonName&gt; Office Online&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;EDIZIONI FAG &amp;#8211; MILANO (www.fag.it)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Pagg. 208&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;#8364; 12,90&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/BLOGHELPER&gt;?&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;&lt;/bloghelper&gt;?&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/giannigiaccaglini/aggbug/8919.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><h1 style="MARGIN: 12pt 0cm 3pt"><font face="Arial" size="5">Office 2007, qui comincia l’avventura, anche sul Web</font></h1>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 6pt"><span style="mso-bidi-font-family: Arial"><font face="Arial"><img src="http://www.fag.it/immaginilibrialtaris/8882335887.jpg" />Questa guida introduttiva ha battuto i concorrenti uscendo per prima e con la benedizione di <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><st1:PersonName ProductID="Microsoft Italia" w:st="on"><st1:PersonName w:st="on">Microsoft</st1:PersonName> Italia</st1:PersonName>: prefazione a cura della medesima e omaggio ai partecipanti a un Convegno dedicato ai partner. Nell&#8217;accingermi a recensirla, quasi non mi accorgevo che, nel frattempo, vi sono state aggiunte 68 pagine, dedicate all&#8217;uso della versione on line del package, fruibile in virt&#249; di una &#8220;finestra&#8221; (netframe) Citrix, evidenziandone anche i pregi documentari e didattici, come demo interattiva e quiz.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><SPAN style="mso-bidi-font-family: Arial"><FONT face=Arial>Il tutto a riprova del dinamismo di questo giovane editore che da qualche tempo offre al mercato testi, soprattutto (ma non solo) introduttivi di microinformatica a costi ragionevoli e con una simpatica veste editoriale. Anche la gentile autrice, una colonna delle Edizioni FAG, si deve esser data da fare, riuscendo nell&#8217;intento di offrire una descrizione accurata e chiara dei connotati salienti di Office 2007 e senza limitarsi agli aspetti operativi e a quelli ergonomici, che pure abbondano in una suite esteticamente molto curata. I primi capitoli, infatti, spiegano a dovere la nuova struttura XML dei documenti Office, arrivando a illustrarne la fruibilit&#224; anche in applicativi diversi da quelli di casa MS. Idem per la novit&#224; (confondente, a parere di chi scrive) dei doppi formati, con e senza macro VBA.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><SPAN style="mso-bidi-font-family: Arial"><FONT face=Arial>Seguono capitoli dedicati, ciascuno, ai principali membri della neonata famiglia, focalizzandone opportunamente le novit&#224;, a volte non immediate da scoprire (come la nuova casella delle formule di Excel, dimensionabile in modo da mostrare le formulacce pi&#249; estese) e illustrando i potenziamenti pi&#249; importanti. Opportuno ad esempio quello sulle tabelle, per restare a Excel, ma anche le migliorie di Word, PowerPoint, Access e Outlook sono ben trattate. Una sola omissione, strana anche se veniale: manca la citazione del cospicuo potenziamento in colonne e righe dei fogli di lavoro<SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Arial; mso-ansi-language: IT; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: IT; mso-bidi-language: AR-SA">: 1.048.586 x 16.384</SPAN> (di cui per&#242; tutti si accorgono prestissimo). <o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><SPAN style="mso-bidi-font-family: Arial"><FONT face=Arial>Insomma il libro &#232; doppiamente utile per chi si avvicina a Office <st1:metricconverter ProductID="2007, in" w:st="on">2007, in</st1:metricconverter> modo sia virtuale che reale.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><SPAN style="mso-bidi-font-family: Arial"><FONT face=Arial>Alessandra Salvaggio<o:p></o:p></FONT></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face=Arial><st1:PersonName w:st="on"><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-GB style="mso-bidi-font-family: Arial; mso-ansi-language: EN-GB">Microsoft</SPAN></B></st1:PersonName><B style="mso-bidi-font-weight: normal"><SPAN lang=EN-GB style="mso-bidi-font-family: Arial; mso-ansi-language: EN-GB"> Office Sytem 2007 + <st1:PersonName w:st="on">Microsoft</st1:PersonName> Office Online<o:p></o:p></SPAN></B></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><SPAN style="mso-bidi-font-family: Arial"><FONT face=Arial>EDIZIONI FAG &#8211; MILANO (www.fag.it)<o:p></o:p></FONT></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><SPAN style="mso-bidi-font-family: Arial"><FONT face=Arial>Pagg. 208<o:p></o:p></FONT></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><B style="mso-bidi-font-weight: normal"><SPAN style="mso-bidi-font-family: Arial"><FONT face=Arial>&#8364; 12,90<o:p></o:p></FONT></SPAN></B></P></BLOGHELPER>?&gt;</FONT></SPAN>
<P></P></bloghelper>?></font></span></p><img src ="http://blog.shareoffice.it/giannigiaccaglini/aggbug/8919.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Gianni Giaccaglini</dc:creator><title>Indirizzi e-mail in un foglio Excel per utenti giramondo</title><link>http://blog.shareoffice.it/giannigiaccaglini/archive/2007/01/29/8899.aspx</link><pubDate>Mon, 29 Jan 2007 16:39:00 GMT</pubDate><guid>http://blog.shareoffice.it/giannigiaccaglini/archive/2007/01/29/8899.aspx</guid><wfw:comment>http://blog.shareoffice.it/giannigiaccaglini/comments/8899.aspx</wfw:comment><comments>http://blog.shareoffice.it/giannigiaccaglini/archive/2007/01/29/8899.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.shareoffice.it/giannigiaccaglini/comments/commentRss/8899.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/giannigiaccaglini/services/trackbacks/8899.aspx</trackback:ping><description>&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 6pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;H1 style="MARGIN: 12pt 0cm; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="COLOR: #993300"&gt;&lt;FONT size=5&gt;&lt;FONT face=Arial&gt;Indirizzi e-mail per utenti giramondo&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;FONT face=Arial&gt;Questa &amp;#232; un&amp;#8217;ideuzza semplice che si rivolge ai principianti ma insegna anche ad altri almeno un segretoccio.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;FONT face=Arial&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Obiettivo&lt;/I&gt;&lt;/B&gt;. &lt;I style="mso-bidi-font-style: normal"&gt;Creare un foglio Excel contenente i dati essenziali relativi ai propri contatti, del tipo seguente.&lt;/I&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;TABLE class=MsoNormalTable style="MARGIN: auto 4.8pt; WIDTH: 414pt; BORDER-COLLAPSE: collapse; mso-table-lspace: 7.05pt; mso-table-rspace: 7.05pt; mso-table-anchor-vertical: paragraph; mso-table-anchor-horizontal: margin; mso-table-left: left; mso-table-top: 6.5pt; mso-padding-alt: 0cm 3.5pt 0cm 3.5pt" cellSpacing=0 cellPadding=0 width=552 align=left border=0&gt;
&lt;TBODY&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 13pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=17&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 91pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=121&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;A&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 66pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=88&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;B&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 59pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=79&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;C&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 137pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=183&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;D&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 48pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;E&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 13pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=bottom noWrap width=17&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: black; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 91pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=121&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ffff99; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;NOME_COGN&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: black; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 66pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=88&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ffff99; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;Nome&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: black; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 59pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=79&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ffff99; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;Cognome&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: black; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 137pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=183&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ffff99; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;Indirizzopostaelettronica&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 48pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 13pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=bottom noWrap width=17&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 91pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=121&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Alessio Andreoni&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 66pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=88&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Alessio&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 59pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=79&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Andreoni&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 137pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=183&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial; mso-bidi-font-size: 12.0pt"&gt;&lt;A href="mailto:alessand@amba.it"&gt;alessand@amba.it&lt;/A&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 48pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 13pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=bottom noWrap width=17&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 91pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=121&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Marco Rossi&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 66pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=88&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Marco&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 59pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=79&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Rossi&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 137pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=183&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial; mso-bidi-font-size: 12.0pt"&gt;&lt;A href="mailto:marcrossi@piopao.com"&gt;marcrossi@piopao.com&lt;/A&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 48pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 13pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=bottom noWrap width=17&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;4&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 91pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=121&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Stefania Pintacuda&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 66pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=88&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Stefania&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 59pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=79&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Pintacuda&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 137pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=183&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; mso-bidi-font-family: Arial"&gt;&lt;A href="mailto:ambrosis@fleishman.it"&gt;&lt;SPAN style="FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-size: 12.0pt"&gt;stefpint@tin.it&lt;/SPAN&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 48pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 5; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 13pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=bottom noWrap width=17&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"&gt;5&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 91pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=121&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 66pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=88&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 59pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=79&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;SPAN style="TEXT-DECORATION: none"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 137pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=183&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 48pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=64&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;FONT face=Arial&gt;Il vantaggio del modellino &amp;#232; evidente: consente a chi si trova fuori sede di portarsi appresso indirizzi e usufruirne rapidamente su un PC altrui o in qualche Internet Point. Va subito sottolineata l&amp;#8217;importanza che gli indirizzi in colonna D siano in forma di hyperlink, cos&amp;#236; baster&amp;#224; un clic su uno di essi per attivare automaticamente l&amp;#8217;Outlook locale.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;FONT face=Arial&gt;Ed ecco le mosse necessarie.&lt;/FONT&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0cm" type=1&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;FONT face=Arial&gt;Esportare i Contatti del nostro Outlook in un file Excel, diciamo &lt;B style="mso-bidi-font-weight: normal"&gt;ContattiOutlk.xls&lt;/B&gt;,&lt;B style="mso-bidi-font-weight: normal"&gt; &lt;/B&gt;col comando&lt;B style="mso-bidi-font-weight: normal"&gt; File &amp;gt; Importa esporta... &lt;/B&gt;con quel che segue (modalit&amp;#224; date per note),, magari rinunciando gi&amp;#224; in tale sede ai campi che non ci interessano, potatura che pu&amp;#242; farsi anche in Excel.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;FONT face=Arial&gt;Completare tutti i campi Nome e Cognome (&amp;#232; un consiglio e rappresenta l&amp;#8217;occasione di mettere un po&amp;#8217; d&amp;#8217;ordine nella nostra Posta elettronica)&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: left; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;FONT face=Arial&gt;Aggiungere &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:PersonName w:st="on" ProductID="la colonna A"&gt;la colonna A&lt;/st1:PersonName&gt; intestata &lt;B style="mso-bidi-font-weight: normal"&gt;NOME_COGN &lt;/B&gt;come in figura. Anche questo &amp;#232; un cosiglio, la colonna potrebbe essere sull&amp;#8217;estrema destra, l&amp;#8217;importante &amp;#232; che nelle colonne da A2 in gi&amp;#249; vengano inserite le formule seguenti, che fanno compariire il Nome + Cognome dei vari soggetti:&lt;BR&gt;=B2&amp;amp;" "&amp;amp;C2&lt;BR&gt;=B3&amp;amp;" "&amp;amp;C3&lt;BR&gt;=B2&amp;amp;" "&amp;amp;C2&lt;BR&gt;eccetera&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: left; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;FONT face=Arial&gt;Impostare il Filtro Automatico, con il comando specifico del menu &lt;B style="mso-bidi-font-weight: normal"&gt;Dati&lt;/B&gt;.&lt;B style="mso-bidi-font-weight: normal"&gt; &lt;/B&gt;In tal modo baster&amp;#224; un clic sulla colonna &lt;B style="mso-bidi-font-weight: normal"&gt;NOME_COGN &lt;/B&gt;per vedersi spaparanzare tale elenco da cui scegliere un contatto: cos&amp;#236; si vedr&amp;#224; una sola riga evidenziandone l&amp;#8217;indirizzo e-mail.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: left; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;FONT face=Arial&gt;Dare un clic su tale indirizzo e proseguire con Outlook.&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: left" align=left&gt;&lt;FONT face=Arial&gt;Tutto piuttosto semplice e scontato, ma c&amp;#8217;&amp;#232; un&amp;#8217;operazione che stavo dimenticando (di proposito, per&amp;#242;, per una certa suspense...):&lt;/FONT&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0cm" type=1 start=6&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: left; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;FONT face=Arial&gt;Lanciare &lt;st1:PersonName w:st="on" ProductID="la macro CreaLink"&gt;la macro &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;CreaLink&lt;/I&gt;&lt;/B&gt;&lt;/st1:PersonName&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt; &lt;/I&gt;&lt;/B&gt;qui sotto indicata&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 4pt; BACKGROUND: #ffff99; PADDING-BOTTOM: 1pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 1pt; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div"&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; BACKGROUND: #ffff99; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 6pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; TEXT-ALIGN: left; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; mso-border-alt: solid windowtext .5pt" align=left&gt;&lt;FONT face=Arial&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Nota &lt;/B&gt;&amp;#8211; &lt;I style="mso-bidi-font-style: normal"&gt;CreaLink &lt;/I&gt;a sua volta richiama una Sub &lt;I style="mso-bidi-font-style: normal"&gt;CreaHyperlink&lt;/I&gt; con argomento &lt;I style="mso-bidi-font-style: normal"&gt;Colonna&lt;/I&gt;. &amp;#200; una finezza volta al possibile ri-uso altrove. Chi la trovasse eccessiva pu&amp;#242; facilmente eseguire il merge...&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;Sub CreaHyperlink(Colonna As Range)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;Dim Cella As Range, txtLink As String&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For Each Cella In Colonna&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;txtLink = Cella.Text&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Cella.Hyperlinks.Add Anchor:=Cella, Address:= _&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;"mailto:" &amp;amp; txtLink, TextToDisplay:=txtLink&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Next&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;End Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;Sub &lt;B style="mso-bidi-font-weight: normal"&gt;CreaLink&lt;/B&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;With Range("IndirPostaElettr")&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;st1:place w:st="on"&gt;&lt;st1:PlaceName w:st="on"&gt;CreaHyperlink&lt;/st1:PlaceName&gt; &lt;st1:PlaceType w:st="on"&gt;Range&lt;/st1:PlaceType&gt;&lt;/st1:place&gt;(.Cells(2), .End(xlDown))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;End With&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;End Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;FONT face=Arial&gt;Ma come mai occorre una macro? Il motivo lo scoprono tutti al termine dell&amp;#8217;esportazione dei Contatti: &lt;U&gt;la colonna degli indirizzi &amp;#232; in forma di testo&lt;/U&gt; pertanto non si ha subito il beneficio del clic che richiama Outlook. Per rendersene pi&amp;#249; esattamente conto si vada su una cella come D2 e si prema il tasto &lt;B style="mso-bidi-font-weight: normal"&gt;F2&lt;/B&gt;. Il minieditor di cella ci svela la presenza di un apice (&amp;#8216;) anteposto, ossia si vede &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&amp;#8216;&lt;A href="mailto:alessand@amba.it"&gt;&lt;SPAN style="COLOR: windowtext; TEXT-DECORATION: none; text-underline: none"&gt;alessand@amba.it&lt;/SPAN&gt;&lt;/A&gt;&lt;/I&gt;&lt;/B&gt;. Se si toglie tale apice e si preme &lt;B style="mso-bidi-font-weight: normal"&gt;Invio&lt;/B&gt; si assister&amp;#224; alla nobilitazione della stringa in un azzurrino link... postelegrafonico.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;FONT face=Arial&gt;Ma questo ripiego manuale &amp;#232; troppo lungo e tedioso. La macro compie il lavoro in qualche secondo.&lt;/FONT&gt;&lt;/P&gt;&lt;/bloghelper&gt;?&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/giannigiaccaglini/aggbug/8899.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p class="MsoNormal" style="MARGIN: 0cm 0cm 6pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p><FONT face=Arial></FONT></o:p>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></P>
<H1 style="MARGIN: 12pt 0cm; TEXT-ALIGN: center" align=center><SPAN style="COLOR: #993300"><FONT size=5><FONT face=Arial>Indirizzi e-mail per utenti giramondo<o:p></o:p></FONT></FONT></SPAN></H1>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><FONT face=Arial>Questa &#232; un&#8217;ideuzza semplice che si rivolge ai principianti ma insegna anche ad altri almeno un segretoccio.</FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><FONT face=Arial><B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal">Obiettivo</I></B>. <I style="mso-bidi-font-style: normal">Creare un foglio Excel contenente i dati essenziali relativi ai propri contatti, del tipo seguente.</I></FONT></P>
<TABLE class=MsoNormalTable style="MARGIN: auto 4.8pt; WIDTH: 414pt; BORDER-COLLAPSE: collapse; mso-table-lspace: 7.05pt; mso-table-rspace: 7.05pt; mso-table-anchor-vertical: paragraph; mso-table-anchor-horizontal: margin; mso-table-left: left; mso-table-top: 6.5pt; mso-padding-alt: 0cm 3.5pt 0cm 3.5pt" cellSpacing=0 cellPadding=0 width=552 align=left border=0>
<TBODY>
<TR style="HEIGHT: 12.75pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes">
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 13pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-alt: solid windowtext .5pt" vAlign=bottom noWrap width=17>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">&nbsp;<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 91pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=121>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">A<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 66pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=88>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">B<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 59pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=79>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">C<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 137pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=183>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><FONT face=Arial>D<o:p></o:p></FONT></SPAN></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 48pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-top-alt: solid windowtext .5pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=64>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><FONT face=Arial>E<o:p></o:p></FONT></SPAN></P></TD></TR>
<TR style="HEIGHT: 12.75pt; mso-yfti-irow: 1">
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 13pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=bottom noWrap width=17>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">1<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: black; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 91pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=121>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><B><SPAN style="FONT-SIZE: 10pt; COLOR: #ffff99; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">NOME_COGN<o:p></o:p></SPAN></B></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: black; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 66pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=88>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><B><SPAN style="FONT-SIZE: 10pt; COLOR: #ffff99; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">Nome<o:p></o:p></SPAN></B></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: black; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 59pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=79>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><B><SPAN style="FONT-SIZE: 10pt; COLOR: #ffff99; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">Cognome<o:p></o:p></SPAN></B></P></TD>
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: black; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 137pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt" vAlign=bottom noWrap width=183>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><B><SPAN style="FONT-SIZE: 10pt; COLOR: #ffff99; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">Indirizzopostaelettronica<o:p></o:p></SPAN></B></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 48pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=64>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></SPAN></P></TD></TR>
<TR style="HEIGHT: 12.75pt; mso-yfti-irow: 2">
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 13pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=bottom noWrap width=17>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">2<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 91pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=121>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><FONT face=Arial>Alessio Andreoni<o:p></o:p></FONT></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 66pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=88>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><FONT face=Arial>Alessio<o:p></o:p></FONT></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 59pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=79>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><FONT face=Arial>Andreoni<o:p></o:p></FONT></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 137pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=183>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><U><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial; mso-bidi-font-size: 12.0pt"><A href="mailto:alessand@amba.it">alessand@amba.it</A></SPAN></U><U><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial"><o:p></o:p></SPAN></U></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 48pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=64>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></SPAN></P></TD></TR>
<TR style="HEIGHT: 12.75pt; mso-yfti-irow: 3">
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 13pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=bottom noWrap width=17>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">3<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 91pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=121>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><FONT face=Arial>Marco Rossi<o:p></o:p></FONT></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 66pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=88>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><FONT face=Arial>Marco<o:p></o:p></FONT></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 59pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=79>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><FONT face=Arial>Rossi<o:p></o:p></FONT></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 137pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=183>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><U><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial; mso-bidi-font-size: 12.0pt"><A href="mailto:marcrossi@piopao.com">marcrossi@piopao.com</A></SPAN></U><U><SPAN style="FONT-SIZE: 10pt; COLOR: blue; mso-bidi-font-family: Arial"><o:p></o:p></SPAN></U></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 48pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=64>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></SPAN></P></TD></TR>
<TR style="HEIGHT: 12.75pt; mso-yfti-irow: 4">
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 13pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=bottom noWrap width=17>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">4<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 91pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=121>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><FONT face=Arial>Stefania Pintacuda<o:p></o:p></FONT></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 66pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=88>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><FONT face=Arial>Stefania<o:p></o:p></FONT></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 59pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=79>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><FONT face=Arial>Pintacuda<o:p></o:p></FONT></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 137pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=183>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><U><SPAN style="FONT-SIZE: 10pt; COLOR: blue; mso-bidi-font-family: Arial"><A href="mailto:ambrosis@fleishman.it"><SPAN style="FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-size: 12.0pt">stefpint@tin.it</SPAN></A><o:p></o:p></SPAN></U></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 48pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=64>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></SPAN></P></TD></TR>
<TR style="HEIGHT: 12.75pt; mso-yfti-irow: 5; mso-yfti-lastrow: yes">
<TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: #969696; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 13pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 12.75pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=bottom noWrap width=17>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=center><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Sans Serif'; mso-bidi-font-family: Arial">5<o:p></o:p></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 91pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=121>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 66pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=88>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 59pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=79>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><U><SPAN style="FONT-SIZE: 10pt; COLOR: blue; mso-bidi-font-family: Arial"><o:p><SPAN style="TEXT-DECORATION: none"><FONT face=Arial>&nbsp;</FONT></SPAN></o:p></SPAN></U></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 137pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=183>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></SPAN></P></TD>
<TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 48pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=64>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-element: frame; mso-element-frame-hspace: 7.05pt; mso-element-wrap: around; mso-element-anchor-vertical: paragraph; mso-element-anchor-horizontal: margin; mso-element-top: 6.5pt; mso-height-rule: exactly" align=left><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></SPAN></P></TD></TR></TBODY></TABLE>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><I style="mso-bidi-font-style: normal"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></I></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><I style="mso-bidi-font-style: normal"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></I></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><I style="mso-bidi-font-style: normal"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></I></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><I style="mso-bidi-font-style: normal"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></I></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><I style="mso-bidi-font-style: normal"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></I></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><FONT face=Arial>Il vantaggio del modellino &#232; evidente: consente a chi si trova fuori sede di portarsi appresso indirizzi e usufruirne rapidamente su un PC altrui o in qualche Internet Point. Va subito sottolineata l&#8217;importanza che gli indirizzi in colonna D siano in forma di hyperlink, cos&#236; baster&#224; un clic su uno di essi per attivare automaticamente l&#8217;Outlook locale.</FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><FONT face=Arial>Ed ecco le mosse necessarie.</FONT></P>
<OL style="MARGIN-TOP: 0cm" type=1>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><FONT face=Arial>Esportare i Contatti del nostro Outlook in un file Excel, diciamo <B style="mso-bidi-font-weight: normal">ContattiOutlk.xls</B>,<B style="mso-bidi-font-weight: normal"> </B>col comando<B style="mso-bidi-font-weight: normal"> File &gt; Importa esporta... </B>con quel che segue (modalit&#224; date per note),, magari rinunciando gi&#224; in tale sede ai campi che non ci interessano, potatura che pu&#242; farsi anche in Excel.</FONT></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><FONT face=Arial>Completare tutti i campi Nome e Cognome (&#232; un consiglio e rappresenta l&#8217;occasione di mettere un po&#8217; d&#8217;ordine nella nostra Posta elettronica)</FONT></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: left; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><FONT face=Arial>Aggiungere <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><st1:PersonName w:st="on" ProductID="la colonna A">la colonna A</st1:PersonName> intestata <B style="mso-bidi-font-weight: normal">NOME_COGN </B>come in figura. Anche questo &#232; un cosiglio, la colonna potrebbe essere sull&#8217;estrema destra, l&#8217;importante &#232; che nelle colonne da A2 in gi&#249; vengano inserite le formule seguenti, che fanno compariire il Nome + Cognome dei vari soggetti:<BR>=B2&amp;" "&amp;C2<BR>=B3&amp;" "&amp;C3<BR>=B2&amp;" "&amp;C2<BR>eccetera</FONT></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: left; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><FONT face=Arial>Impostare il Filtro Automatico, con il comando specifico del menu <B style="mso-bidi-font-weight: normal">Dati</B>.<B style="mso-bidi-font-weight: normal"> </B>In tal modo baster&#224; un clic sulla colonna <B style="mso-bidi-font-weight: normal">NOME_COGN </B>per vedersi spaparanzare tale elenco da cui scegliere un contatto: cos&#236; si vedr&#224; una sola riga evidenziandone l&#8217;indirizzo e-mail.</FONT></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: left; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><FONT face=Arial>Dare un clic su tale indirizzo e proseguire con Outlook.</FONT></LI></OL>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: left" align=left><FONT face=Arial>Tutto piuttosto semplice e scontato, ma c&#8217;&#232; un&#8217;operazione che stavo dimenticando (di proposito, per&#242;, per una certa suspense...):</FONT></P>
<OL style="MARGIN-TOP: 0cm" type=1 start=6>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: left; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><FONT face=Arial>Lanciare <st1:PersonName w:st="on" ProductID="la macro CreaLink">la macro <B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal">CreaLink</I></B></st1:PersonName><B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal"> </I></B>qui sotto indicata</FONT></LI></OL>
<DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 4pt; BACKGROUND: #ffff99; PADDING-BOTTOM: 1pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 1pt; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div">
<P class=MsoNormal style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; BACKGROUND: #ffff99; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 6pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; TEXT-ALIGN: left; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; mso-border-alt: solid windowtext .5pt" align=left><FONT face=Arial><B style="mso-bidi-font-weight: normal">Nota </B>&#8211; <I style="mso-bidi-font-style: normal">CreaLink </I>a sua volta richiama una Sub <I style="mso-bidi-font-style: normal">CreaHyperlink</I> con argomento <I style="mso-bidi-font-style: normal">Colonna</I>. &#200; una finezza volta al possibile ri-uso altrove. Chi la trovasse eccessiva pu&#242; facilmente eseguire il merge...</FONT></P></DIV>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">Sub CreaHyperlink(Colonna As Range)<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><SPAN style="mso-spacerun: yes">&nbsp; </SPAN></SPAN><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB">Dim Cella As Range, txtLink As String<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>For Each Cella In Colonna<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>txtLink = Cella.Text<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>Cella.Hyperlinks.Add Anchor:=Cella, Address:= _<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>"mailto:" &amp; txtLink, TextToDisplay:=txtLink<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Next<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB">End Sub<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB">Sub <B style="mso-bidi-font-weight: normal">CreaLink</B>()<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>With Range("IndirPostaElettr")<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><st1:place w:st="on"><st1:PlaceName w:st="on">CreaHyperlink</st1:PlaceName> <st1:PlaceType w:st="on">Range</st1:PlaceType></st1:place>(.Cells(2), .End(xlDown))<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>End With<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB">End Sub<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><FONT face=Arial>Ma come mai occorre una macro? Il motivo lo scoprono tutti al termine dell&#8217;esportazione dei Contatti: <U>la colonna degli indirizzi &#232; in forma di testo</U> pertanto non si ha subito il beneficio del clic che richiama Outlook. Per rendersene pi&#249; esattamente conto si vada su una cella come D2 e si prema il tasto <B style="mso-bidi-font-weight: normal">F2</B>. Il minieditor di cella ci svela la presenza di un apice (&#8216;) anteposto, ossia si vede <B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal">&#8216;<A href="mailto:alessand@amba.it"><SPAN style="COLOR: windowtext; TEXT-DECORATION: none; text-underline: none">alessand@amba.it</SPAN></A></I></B>. Se si toglie tale apice e si preme <B style="mso-bidi-font-weight: normal">Invio</B> si assister&#224; alla nobilitazione della stringa in un azzurrino link... postelegrafonico.</FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"><FONT face=Arial>Ma questo ripiego manuale &#232; troppo lungo e tedioso. La macro compie il lavoro in qualche secondo.</FONT></P></bloghelper>?></p><img src ="http://blog.shareoffice.it/giannigiaccaglini/aggbug/8899.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Gianni Giaccaglini</dc:creator><title>Crittografare un messaggio Outlook</title><link>http://blog.shareoffice.it/giannigiaccaglini/archive/2006/12/08/8811.aspx</link><pubDate>Fri, 08 Dec 2006 11:17:00 GMT</pubDate><guid>http://blog.shareoffice.it/giannigiaccaglini/archive/2006/12/08/8811.aspx</guid><wfw:comment>http://blog.shareoffice.it/giannigiaccaglini/comments/8811.aspx</wfw:comment><comments>http://blog.shareoffice.it/giannigiaccaglini/archive/2006/12/08/8811.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.shareoffice.it/giannigiaccaglini/comments/commentRss/8811.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/giannigiaccaglini/services/trackbacks/8811.aspx</trackback:ping><description>&lt;h1 style="MARGIN: 12pt 0cm 3pt; TEXT-ALIGN: center" align="center"&gt;&lt;span style="COLOR: maroon"&gt;&lt;font size="5"&gt;&lt;font face="Arial"&gt;Crittografare un messaggio Outlook&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;FONT face=Arial&gt;Questa &amp;#232; una ricetta (relativamente) elementare ma che pu&amp;#242; tornare utile fra amici e/o in piccoli gruppi desiderosi di una certa riservatezza (magari contro spyware e altre consimili diavolerie virali). Il sistema adottato si basa su due punti:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0cm" type=square&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt"&gt;&lt;FONT face=Arial&gt;una serie ciclica di traslitterazioni applicate successivamente ai caratteri del messaggio (un testo puro, per semplificare);&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt"&gt;&lt;FONT face=Arial&gt;l&amp;#8217;inversione (completa) del testo&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;FONT face=Arial&gt;Non pretendo certo che il messaggio cos&amp;#236; modificato resista alle analisi automatizzate di software di cui forse si favoleggia un poco, tuttavia per un verso tali programmi non sono cos&amp;#236; diffusi, inoltre questo che presento &amp;#232; solo un assaggio: adottando un mix di algoritmi di varia complessit&amp;#224; sono convinto che un file cos&amp;#236; trattato sia, di fatto, indecifrabile (a meno di non &amp;#8220;rubare&amp;#8221; la chiave, ovviamente.&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 4pt; BACKGROUND: #ccffff; PADDING-BOTTOM: 1pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 1pt; BORDER-BOTTOM: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt"&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; BACKGROUND: #ccffff; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 6pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;FONT face=Arial&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Nota &lt;/B&gt;&amp;#8211; Arcinota &amp;#232; poi la possibilit&amp;#224; di adottare sistemi a doppia chiave asimmetrica, arcisicuri e standard. Ma chi li possiede veramente? I criteri artigiani cui accenno specie se adottati tra gente fidata risultano semplici e ragionevoli, &lt;U&gt;proprio perch&amp;#233; NON sono standard&lt;/U&gt;&amp;#8230;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;H2 style="MARGIN: 12pt 0cm 3pt"&gt;&lt;EM&gt;&lt;FONT face=Arial&gt;Ma veniamo al da farsi&lt;/FONT&gt;&lt;/EM&gt;&lt;/H2&gt;
&lt;OL style="MARGIN-TOP: 0cm" type=1&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;FONT face=Arial&gt;Aprire Outlook, poi portarsi nell&amp;#8217;Editor Visual Basic con &lt;B style="mso-bidi-font-weight: normal"&gt;Alt&lt;/B&gt; + &lt;B style="mso-bidi-font-weight: normal"&gt;F11&lt;/B&gt;.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0cm 0cm 6pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;FONT face=Arial&gt;Preparare una &lt;B style="mso-bidi-font-weight: normal"&gt;UserForm&lt;/B&gt; grossomodo come la seguente. Essa costituir&amp;#224; il minieditor per ospitare il messaggio, prima di crittarlo e spedirlo.&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;TABLE class=MsoNormalTable style="MARGIN: auto auto auto 2.75pt; WIDTH: 341pt; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 3.5pt 0cm 3.5pt" cellSpacing=0 cellPadding=0 width=455 border=0&gt;
&lt;TBODY&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 3.5pt; BACKGROUND: blue; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 341pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 15pt" vAlign=bottom noWrap width=455 colSpan=7&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: white; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Testo del messaggio&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 15pt; mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 341pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 15pt" vAlign=bottom noWrap width=455 colSpan=7&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: white; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 13.5pt; mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid; HEIGHT: 13.5pt" vAlign=bottom noWrap width=28 rowSpan=22&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 298.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 13.5pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=398 colSpan=5&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 13.5pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 12.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=17 rowSpan=20&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 273.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid windowtext 1.0pt" vAlign=top noWrap width=365 colSpan=3 rowSpan=16&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Amba, rab&amp;#224;, cicc&amp;#236;, cocc&amp;#242; tre civette sul com&amp;#242;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 12.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=17 rowSpan=20&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 5"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 6"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 7"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 8"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 9"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 10"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 11"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 12"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 13"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 14"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 15"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 16"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 17"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 13.5pt; mso-yfti-irow: 18"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 13.5pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 19"&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 12.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=17 rowSpan=4&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 248.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=332&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 12.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=17 rowSpan=4&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 20"&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 248.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" noWrap width=332 rowSpan=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: center" align=center&gt;&lt;B&gt;&lt;SPAN style="mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;Inserisci&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 21"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 12.75pt; mso-yfti-irow: 22"&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 248.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt; BACKGROUND-COLOR: transparent" vAlign=bottom noWrap width=332&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: #c0c0c0; HEIGHT: 12.75pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="HEIGHT: 32.25pt; mso-yfti-irow: 23; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-RIGHT: #c0c0c0; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 298.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 32.25pt" vAlign=bottom noWrap width=398 colSpan=5&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 3.5pt; BORDER-TOP: #c0c0c0; PADDING-LEFT: 3.5pt; BACKGROUND: silver; PADDING-BOTTOM: 0cm; BORDER-LEFT: #c0c0c0; WIDTH: 21.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 32.25pt" vAlign=bottom noWrap width=28&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P class=MsoNormal style="MARGIN: 6pt 0cm 6pt 35.7pt; TEXT-INDENT: -17.85pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-fareast-font-family: Arial; mso-bidi-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Arial&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT face=Arial&gt;Assicurarsi che la proprie&amp;#224; &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Multiline&lt;/I&gt;&lt;/B&gt; della casellona di testo centrale sia impostata a &lt;I style="mso-bidi-font-style: normal"&gt;True&lt;/I&gt;. In tal modo verranno accettati testi di una discreta lunghezza (ma non sii dovrebbe esagerare, ne va di mezzo la pazienza richiesta dai tempi di crittazione&amp;#8230;).&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 6pt 0cm 6pt 35.7pt; TEXT-INDENT: -17.85pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-fareast-font-family: Arial; mso-bidi-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Arial&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT face=Arial&gt;Creare un modulo VBA, magari dandogli un nome pregnante come &amp;#8220;Crittograf&amp;#8221; o simili e inserirvi le routine che stiamo per vedere.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 6pt 0cm 6pt 35.7pt; TEXT-INDENT: -17.85pt; mso-list: l1 level1 lfo1; tab-stops: list 36.0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-fareast-font-family: Arial; mso-bidi-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Arial&gt;5.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT face=Arial&gt;Testare eventualmente tali macro e &amp;#8211; attenzione! &amp;#8211; salvare il (cosiddetto) &lt;B style="mso-bidi-font-weight: normal"&gt;VBAProject.OTM&lt;/B&gt;, con l&amp;#8217;apposito comando del menu &lt;B style="mso-bidi-font-weight: normal"&gt;File&lt;/B&gt; dell&amp;#8217;Editor VBA. E se ce ne dimentichiamo? Alla chiusura di Outlook riceveremo un richiamo in tal senso: per carit&amp;#224;, rispondere affermativamente, altrimenti il lavoro viene perduto!&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 12pt 0cm 3pt"&gt;&lt;EM&gt;&lt;FONT face=Arial&gt;Le funzioni per crittografare&lt;/FONT&gt;&lt;/EM&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;FONT face=Arial&gt;Sono riportate qui sotto, seguite dalle relative Sub di prova e da commenti essenziali.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;Function StringaInversa(Str As String) As String&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;Dim i As Long, StrInv As String&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For i = Len(Str) To 1 Step -1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;StrInv = StrInv &amp;amp; Mid(Str, i, 1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Next&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;StringaInversa = StrInv&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;End Function&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;Sub ProvaStringaInversa()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;MsgBox StringaInversa("ambarab&amp;#224; cicci cocc&amp;#242; tre civette sul com&amp;#242; " _&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;amp; "che facevano l'amore con la figlia del dottore" _&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;amp; "il dottore s'ammal&amp;#242;, e la figlia lo lasci&amp;#242;. E and&amp;#242; a ROMA")&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;End Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Arial&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Commenti&lt;/B&gt;. Superflui per chi conosce le funzioni di stringa, in particolare &lt;I style="mso-bidi-font-style: normal"&gt;Mid&lt;/I&gt;. Gli altri se la cavano ugualmente, con la Guida e lanciando, magari passo passo &lt;I style="mso-bidi-font-style: normal"&gt;ProvaStringaInversa&lt;/I&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;Function CriptStr(Str As String) As String&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;'Senza correzione su lunghezza di singole parole, ma&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;'con inversione dell'intero testo del messaggio&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;Dim i As Long, l As Integer, k As Integer&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Dim c As String, NumAsc As Integer&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Dim StrCript As String&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If Str = "" Then Exit Function&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;Str = StringaInversa(Str)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;VettChiavi&lt;/B&gt; = Array(43, 12, 5, 14, 21, 33, 124, 3, 5, 89, 65)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;l = Len(Str): m = UBound(VettChiavi)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If k = m Then k = 0 Else k = k + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For i = 1 To l&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;NumAsc = Asc(Mid(Str, i, 1))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;'MsgBox NumAsc 'Servita nel debug&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;NumAsc = _&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;NumAsc + IIf(NumAsc = 13 Or NumAsc = 10, 0, VettChiavi(k))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;'Si conserva il CR o il LF&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;If NumAsc &amp;gt; 255 Then NumAsc = NumAsc - 255&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;c = Chr(NumAsc)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;StrCript = StrCript &amp;amp; c&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Next&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: FR"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;CriptStr = StrCript&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;SPAN lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: FR"&gt;End Function&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;Sub ProvaCriptStr()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;MsgBox CriptStr("Ambarab&amp;#224; cicc&amp;#236; cocc&amp;#242; tre civette sul com&amp;#242;")&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;End Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Arial&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Commenti&lt;/B&gt;. La chiamata a &lt;I style="mso-bidi-font-style: normal"&gt;StrInversa&lt;/I&gt; palesemente registra nell&amp;#8217;argomento &lt;I style="mso-bidi-font-style: normal"&gt;Str&lt;/I&gt; il suo rovescio. Quindi nel &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;VettChiavi&lt;/I&gt;&lt;/B&gt; viene riportata una serie di traslitterazioni, identiche &amp;#8211; lo anticipo &amp;#8211; a quelle usate in sede di decrittazione. Si tratta di numeretti che si aggiungono al codice ASCII di ciascun carattere di &lt;I style="mso-bidi-font-style: normal"&gt;Str&lt;/I&gt;, esclusi gli a-capo (chi vuole pu&amp;#242; provare a togliere queste eccezioni&amp;#8230;), dopo di che in &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;StrCript&lt;/I&gt;&lt;/B&gt; l&amp;#8217;operatore di concatenamento &lt;B style="mso-bidi-font-weight: normal"&gt;&amp;amp; &lt;/B&gt;accoda i caratteri man mano crittati. Cruciale &amp;#232; l&amp;#8217;istruzione &lt;I style="mso-bidi-font-style: normal"&gt;If NumAsc &amp;gt; 255 Then NumAsc = NumAsc &amp;#8211; 255&lt;/I&gt;, che qualora la traslitterazione porti fuori del numero massimo di codici ASCII (255) provvede, ciclicamente, ad aggiustare il tiro riportandolo nei primi della serie ASCII stessa.&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 12pt 0cm 3pt"&gt;&lt;EM&gt;&lt;FONT face=Arial&gt;La macro crittografante&lt;/FONT&gt;&lt;/EM&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;FONT face=Arial&gt;Chiama in gioco la nostra &lt;B style="mso-bidi-font-weight: normal"&gt;UserForm1&lt;/B&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;Sub InviaMessCripto()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;'Tramite UserForm1 e senza correzione su lunghezza di singole&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;'parole ma con inversione dell'intero testo del messaggio&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;Dim MioMess As MailItem, TestoMess As String&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Load UserForm1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;With UserForm1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.TextBox1.Text = ""&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;.Show&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;TestoMess = .TextBox1.Text&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;'.Hide 'NON serve, previsto nell'evento Click del pulsante&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;End With&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Unload UserForm1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If MsgBox("Vuoi crittografare?", vbYesNo) = vbYes Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;TestoMess = CriptStr(TestoMess)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;End If&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Set MioMess = Application.CreateItem(olMailItem)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;With MioMess&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.To = "&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:PersonName w:st="on"&gt;giannigiac@tin.it&lt;/st1:PersonName&gt;" 'A me stesso (&amp;#232; una prova)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;.Subject = "Messaggio crittografato!"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.Body = TestoMess&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.Display&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;End With&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Set MioMess = Nothing&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;End Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;FONT face=Arial&gt;Stavolta mi astengo da commenti, ritenendoli a questo punto superflui.&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 4pt; BACKGROUND: #ccffff; PADDING-BOTTOM: 1pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 1pt; BORDER-BOTTOM: windowtext 1pt solid; mso-element: para-border-div; mso-border-alt: solid windowtext .5pt"&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; BACKGROUND: #ccffff; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 6pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt"&gt;&lt;FONT face=Arial&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Nota &lt;/B&gt;- E poi tutti i nostri visitatori amano &amp;#8211; persino troppo, per un ambiente Office, ove spesso se ne pu&amp;#242; fare a meno (specie in Excel) &amp;#8211; le UserForm e le sfruttano abilmente.&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Arial&gt;Doveroso, infine, ma sempre senza inutili commenti, il codice racchiuso nella UserForm:&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;Private Sub CommandButton1_Click()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If TextBox1.Text = "" Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"&gt;MsgBox "DEVI inserire qualcosa...", vbCritical, "Attenzione!"&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;TextBox1.SetFocus &lt;SPAN style="COLOR: green"&gt;'Focalizza la casella di testo&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;Else&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Me.Hide&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;End If&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;End Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;Private Sub UserForm_Initialize()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;With TextBox1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"&gt;.Text = "" &lt;SPAN style="COLOR: green"&gt;'In realt&amp;#224; serve poco...&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;.SetFocus &lt;SPAN style="COLOR: green"&gt;'Focalizza la casella di testo&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;End With&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;End Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-bidi-font-size: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"&gt;Cancel = 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-WEIGHT: normal; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 12.0pt"&gt;End Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;H2 style="MARGIN: 12pt 0cm 3pt"&gt;&lt;EM&gt;&lt;FONT face=Arial&gt;Il codice de-crittografante&lt;/FONT&gt;&lt;/EM&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 6pt"&gt;&lt;FONT face=Arial&gt;Lo riporto doverosamente ma senza altri commenti, a questo punto, superflui.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;Function DecriptStr(Str As String) As String&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;'Senza correzione su lunghezza di singole parole, ma&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;'con inversione dell'intero testo del messaggio&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;Dim i As Long, l As Integer, k As Integer&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Dim c As String, NumAsc As Integer&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Dim StrDecript As String&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If Str = "" Then Exit Function&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;Str = StringaInversa(Str)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;VettChiavi = Array(43, 12, 5, 14, 21, 33, 124, 3, 5, 89, 65)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;l = Len(Str): m = UBound(VettChiavi)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If k = m Then k = 0 Else k = k + 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For i = 1 To l&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;NumAsc = Asc(Mid(Str, i, 1))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;NumAsc = NumAsc - IIf(NumAsc = 13 Or NumAsc = 10, 0, VettChiavi(k))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN 