<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dotnetside.org/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it"><title type="html">Blog di Laura Ciccarese</title><subtitle type="html">Office: un mondo da scoprire!
Approfondimenti, Automation, 
VBA e altro ancora...</subtitle><id>http://dotnetside.org/blogs/laura/atom.aspx</id><link rel="alternate" type="text/html" href="http://dotnetside.org/blogs/laura/default.aspx" /><link rel="self" type="application/atom+xml" href="http://dotnetside.org/blogs/laura/atom.aspx" /><generator uri="http://communityserver.org" version="4.0.30619.63">Community Server</generator><updated>2007-01-14T13:26:00Z</updated><entry><title>Personalizzare il Ribbon con VBA</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/05/18/Personalizzare-il-Ribbon-con-VBA.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="15913" href="http://dotnetside.org" /><id>/blogs/laura/archive/2007/05/18/Personalizzare-il-Ribbon-con-VBA.aspx</id><published>2007-05-18T16:11:00Z</published><updated>2007-05-18T16:11:00Z</updated><content type="html">&lt;p&gt;Questo esempio risponde ad una specifica richiesta ad un post precedente e mi permette di affrontare un argomento leggermente diverso da quelli visti finora: la personalizzazione del Ribbon a livello di documento (document-level) e non a livello di applicazione.&lt;/p&gt;&lt;p&gt;Il quesito era: &amp;quot;Come posso personalizzare il Ribbon di un file di Excel facendo in modo che ci siano solo le mie schede, che per gli altri file&amp;nbsp;il Ribbon torni ad essere quello standard e utilizzando VBA?&amp;quot;.&lt;/p&gt;&lt;p&gt;Ecco la&amp;nbsp;risposta.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Creazione del file xml con la struttura del Ribbon&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Il nostro esercizio prevede una scheda personalizzata con due gruppi di funzionalit&amp;agrave;; nel primo gruppo ci sono due comandi per l&amp;#39;ordinamento di un elenco; nel secondo gruppo un comando per la trasformazione di formule in valori. Il file di esempio si chiama ExcelCustomRibbonVBA.xlsm e lo trovate in allegato.&lt;/p&gt;&lt;p&gt;La struttura del ribbon deve essere contenuta in un file xml che potete scrivere con un normale editor di testi o con un apposito editor XML. In alternativa, se avete fatto delle prove con Visual studio o avete scaricato gli allegati ai post precedenti, potete utilizzare un file Ribbon.xlm e modificarlo.&lt;/p&gt;&lt;p&gt;Dopo aver creato il file:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;assegnarvi il nome &lt;strong&gt;customUI.xml&lt;/strong&gt;;&lt;/li&gt;&lt;li&gt;salvarlo all&amp;#39;interno di una cartella di nome &lt;strong&gt;customUI&lt;/strong&gt;, da posizionare, ad esempio, sul desktop.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;il contenuto del file xml &amp;egrave; il seguente:&lt;/p&gt;&lt;p&gt;------------------------------------------------------------------------------------------------------------------------------&lt;/p&gt;&lt;p&gt;&amp;lt;customUI xmlns=&amp;quot;http://schemas.microsoft.com/office/2006/01/customui&amp;quot; &amp;gt; &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;ribbon startFromScratch =&amp;quot;true&amp;quot;&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;tabs&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;tab id=&amp;quot;FunctionsTab&amp;quot; &lt;/p&gt;&lt;p&gt;label=&amp;quot;Funzioni personalizzate&amp;quot;&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;group id=&amp;quot;RangeFunctionsGroup&amp;quot; &lt;/p&gt;&lt;p&gt;label=&amp;quot;Funzioni di intervallo&amp;quot;&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;button id=&amp;quot;OrdinaPerProdotto&amp;quot; &lt;/p&gt;&lt;p&gt;size=&amp;quot;large&amp;quot; &lt;/p&gt;&lt;p&gt;label=&amp;quot;Ordina per prodotto&amp;quot; &lt;/p&gt;&lt;p&gt;screentip=&amp;quot;Seleziona l&amp;#39;intervallo a partire dalla cella corrente e ordina per prodotto&amp;quot; &lt;/p&gt;&lt;p&gt;onAction=&amp;quot;ThisWorkbook.MyFunctions&amp;quot; &lt;/p&gt;&lt;p&gt;imageMso=&amp;quot;AddressBook&amp;quot;/&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;button id=&amp;quot;OrdinaPerAgente&amp;quot; &lt;/p&gt;&lt;p&gt;label=&amp;quot;Ordina per agente&amp;quot; &lt;/p&gt;&lt;p&gt;size =&amp;quot;large&amp;quot; &lt;/p&gt;&lt;p&gt;screentip=&amp;quot;Seleziona l&amp;#39;intervallo a partire dalla cella corrente e ordina per agente&amp;quot; &lt;/p&gt;&lt;p&gt;onAction=&amp;quot;ThisWorkbook.MyFunctions&amp;quot; &lt;/p&gt;&lt;p&gt;imageMso=&amp;quot;PropertySheet&amp;quot; /&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/group&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;group id=&amp;quot;GeneralFunctionsGroup&amp;quot; &lt;/p&gt;&lt;p&gt;label=&amp;quot;Funzioni del foglio&amp;quot;&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;button id=&amp;quot;TrasformaInValori&amp;quot; &lt;/p&gt;&lt;p&gt;size=&amp;quot;large&amp;quot; &lt;/p&gt;&lt;p&gt;label=&amp;quot;Trasforma formule in valori&amp;quot; &lt;/p&gt;&lt;p&gt;screentip=&amp;quot;Trasforma in valori le formule contenute nell&amp;#39;intervallo selezionato&amp;quot; &lt;/p&gt;&lt;p&gt;onAction=&amp;quot;ThisWorkbook.MyFunctions&amp;quot; &lt;/p&gt;&lt;p&gt;imageMso=&amp;quot;Paste&amp;quot; /&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/group&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/tab&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/tabs&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/ribbon&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;lt;/customUI&amp;gt; &lt;/p&gt;&lt;p&gt;------------------------------------------------------------------------------------------------------------------------------ &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Nascondere le schede standard del Ribbon&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;L&amp;#39;attributo del ribbon&amp;nbsp;&lt;strong&gt;startFromScratch =&amp;quot;true&amp;quot;&lt;/strong&gt; fa s&amp;igrave; che le schede predefinite del Ribbon vengano nascoste per lasciare posto solo a quelle personalizzate. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Callback VBA&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;In questo caso, le callback del del ribbon puntano alla subroutine &lt;strong&gt;MyFuncions&lt;/strong&gt; contenuta nella cartella di lavoro, nel modulo ThisWorkbook: &lt;strong&gt;onAction=&amp;quot;ThisWorkbook.MyFunctions&amp;quot;&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Subroutine MyFunction&lt;/strong&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Creare un file di excel con l&amp;#39;estensione xlsm, che abilita il salvataggio delle macro;&lt;/li&gt;&lt;li&gt;aprire il foglio di codice&amp;nbsp;ThisWorkbook e creare la sub MyFunction che eseguir&amp;agrave; le diverse operazioni in corrispondenza dell&amp;#39;ID del&amp;nbsp;comando chiamato dal ribbon:&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Sub MyFunctions(ByVal myControl As IRibbonControl)&lt;br /&gt;Dim myRng As Range&lt;br /&gt;Select Case myControl.ID&lt;br /&gt;Case &amp;quot;OrdinaPerProdotto&amp;quot;&lt;br /&gt;Set myRng = Range(&amp;quot;A1&amp;quot;).CurrentRegion&lt;br /&gt;myRng.Sort Range(&amp;quot;B:B&amp;quot;), , , , , , , xlYes&lt;br /&gt;Case &amp;quot;OrdinaPerAgente&amp;quot;&lt;br /&gt;Set myRng = Range(&amp;quot;A1&amp;quot;).CurrentRegion&lt;br /&gt;myRng.Sort Range(&amp;quot;A:A&amp;quot;), , , , , , , xlYes&lt;br /&gt;Case &amp;quot;TrasformaInValori&amp;quot;&lt;br /&gt;Set myRng = Selection&lt;br /&gt;myRng.Copy&lt;br /&gt;myRng.PasteSpecial xlPasteValues&lt;br /&gt;End Select&lt;br /&gt;End Sub&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div&gt;salvare il file sul desktop e chiudere&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Collegare il file customUI.xml al file di Excel&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Per far s&amp;igrave; che il file di Excel applichi la struttura personalizzata del nuovo ribbon, &amp;egrave; necessario eseguire le seguenti operazioni:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;modificare l&amp;#39;estensione del file di excel con .&lt;strong&gt;zip&lt;/strong&gt;;&lt;/li&gt;&lt;li&gt;aprire il pacchetto e trascinarvi la cartella &lt;strong&gt;customUI&lt;/strong&gt; contenente il file xml;&lt;/li&gt;&lt;li&gt;aprire la cartella &lt;strong&gt;_rels&lt;/strong&gt; e&amp;nbsp;trascinare il file &lt;strong&gt;.rels&lt;/strong&gt; sul&amp;nbsp;desktop per apportare&amp;nbsp;la modifica necessaria al collegamento tra il file di excel e il nuovo ribbon;&lt;/li&gt;&lt;li&gt;nel file &lt;strong&gt;.rels&lt;/strong&gt;, prima della chiusura delle Relationship,&amp;nbsp;inserire la riga in grassetto:&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;Relationships xmlns=&amp;quot;&lt;a href="http://schemas.openxmlformats.org/package/2006/relationships&amp;quot;"&gt;http://schemas.openxmlformats.org/package/2006/relationships&amp;quot;&lt;/a&gt;&amp;gt;&lt;br /&gt;&amp;lt;Relationship Id=&amp;quot;rId3&amp;quot; Type=&amp;quot;&lt;a href="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties&amp;quot;"&gt;http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties&amp;quot;&lt;/a&gt; Target=&amp;quot;docProps/app.xml&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;Relationship Id=&amp;quot;rId2&amp;quot; Type=&amp;quot;&lt;a href="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties&amp;quot;"&gt;http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties&amp;quot;&lt;/a&gt; Target=&amp;quot;docProps/core.xml&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;Relationship Id=&amp;quot;rId1&amp;quot; Type=&amp;quot;&lt;a href="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument&amp;quot;"&gt;http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument&amp;quot;&lt;/a&gt; Target=&amp;quot;xl/workbook.xml&amp;quot;/&amp;gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;lt;Relationship Id=&amp;quot;customUIRelID&amp;quot; Type=&amp;quot;&lt;/strong&gt;&lt;a href="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility&amp;quot;"&gt;&lt;strong&gt;http://schemas.microsoft.com/office/2006/relationships/ui/extensibility&amp;quot;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; Target=&amp;quot;customUI/customUI.xml&amp;quot;/&amp;gt;&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/Relationships&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Osservazione.&lt;/p&gt;&lt;p&gt;L&amp;#39;attributo Target &amp;egrave; uguale al nome del file xml preceduto dalla cartella che lo contiene.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;salvare e chiudere il file.rels;&lt;/li&gt;&lt;li&gt;trascinare nuovamente il file.rels nella cartella di orginie;&lt;/li&gt;&lt;li&gt;chiudere il pacchetto zip e ripristinare l&amp;#39;estensione xlsm;&lt;/li&gt;&lt;li&gt;aprire il file di excel cos&amp;igrave; modificato ed ecco il risultato:&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/503086173/" title="ExcelCustomRibbonVBA01"&gt;&lt;img src="http://static.flickr.com/211/503086173_ee0e23942d.jpg" border="0" alt="ExcelCustomRibbonVBA01" width="500" height="382" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Come sempre, in allegato trovate il file completo e il file customUI.xml&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ciao a tutti&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=5420" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author></entry><entry><title>Word Custom Ribbon: aggiungere un'intestazione di pagina</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/04/25/Word-Custom-Ribbon_3A00_-aggiungere-un_2700_intestazione-di-pagina.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="121637" href="http://dotnetside.org" /><id>/blogs/laura/archive/2007/04/25/Word-Custom-Ribbon_3A00_-aggiungere-un_2700_intestazione-di-pagina.aspx</id><published>2007-04-26T01:52:00Z</published><updated>2007-04-26T01:52:00Z</updated><content type="html">&lt;p&gt;Oggi proseguiamo con la personalizzazione del ribbon di Word, aggiungendo un comando che permette di inserire o aggiornare l&amp;#39;intestazione di pagina del documento corrente.&lt;/p&gt;&lt;p&gt;L&amp;#39;esempio si basa sulle applicazioni descritte nel post precedente, &lt;a href="http://www.dotnetside.org/blogs/laura/archive/2007/03/30/Word-Custom-Ribbon_3A00_-modifica-stile.aspx"&gt;Word Custom Ribbon: modifica stile&lt;/a&gt;, alle quali apporteremo le seguenti modifiche:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;aggiungere un comando alla struttura del &lt;strong&gt;Ribbon.xml&lt;/strong&gt;;&lt;/li&gt;&lt;li&gt;assegnare la dimensione massima al comando;&lt;/li&gt;&lt;li&gt;aggiungere la funzionalit&amp;agrave; relativa nel foglio &lt;strong&gt;ThisAddin.cs&lt;/strong&gt; o &lt;strong&gt;ThisAddin.vb&lt;/strong&gt;;&lt;/li&gt;&lt;li&gt;aggiungere la chiamata alla nuova funzionalit&amp;agrave; nella regione delle callbacks nel &lt;strong&gt;Ribbon.cs &lt;/strong&gt;o &lt;strong&gt;Ribbon.vb&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Ribbon.xml&lt;/strong&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:10pt;color:maroon;font-family:'Courier New';"&gt;button&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;color:red;font-family:'Courier New';"&gt;id&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt; =&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&amp;quot;&lt;span style="color:blue;"&gt;aggiungiIntestazione01&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:red;font-family:'Courier New';"&gt;label&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt; =&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&amp;quot;&lt;span style="color:blue;"&gt;Intestazione ufficiale&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:red;font-family:'Courier New';"&gt;screentip&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;=&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&amp;quot;&lt;span style="color:blue;"&gt;aggiunge o aggiorna l&amp;#39;intestazione di pagina per la documentazione ufficiale&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:red;font-family:'Courier New';"&gt;size&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt; =&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&amp;quot;&lt;span style="color:blue;"&gt;large&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:red;font-family:'Courier New';"&gt;onAction&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt; =&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&amp;quot;&lt;span style="color:blue;"&gt;MyFunctions&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:red;font-family:'Courier New';"&gt;imageMso&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt; =&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&amp;quot;&lt;span style="color:blue;"&gt;HeaderFooterEditHeader&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ThisAddin.cs&lt;/strong&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;public&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; aggiungiIntestazione01()&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//impostiamo la variabile per il documento attivo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;Word.&lt;span style="color:teal;"&gt;Document&lt;/span&gt; myDoc = Application.ActiveDocument;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:green;font-family:'Courier New';"&gt;//impostiamo la variabile per l&amp;#39;intestazione di pagina&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;Word.&lt;span style="color:teal;"&gt;HeaderFooter&lt;/span&gt; myHeader = myDoc.Sections[1].Headers[Microsoft.Office.Interop.Word.&lt;span style="color:teal;"&gt;WdHeaderFooterIndex&lt;/span&gt;.wdHeaderFooterPrimary];&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;try&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//inseriamo e formattiamo l&amp;#39;intestazione di pagina&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:green;"&gt;//inseriamo il nome del file completo di percorso (attenzione: se il documento &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//non &amp;egrave; ancora stato salvato, il nome del percorso non sar&amp;agrave; disponibile:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (myDoc.Saved == &lt;span style="color:blue;"&gt;true&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myHeader.Range.Text = &lt;span style="color:maroon;"&gt;&amp;quot;Documento ufficiale - File:&amp;quot;&lt;/span&gt; + myDoc.Path + &lt;span style="color:maroon;"&gt;&amp;quot;&amp;#39;\&amp;#39;&amp;quot;&lt;/span&gt; + Application.ActiveDocument.Name;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;else&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myHeader.Range.Text = &lt;span style="color:maroon;"&gt;&amp;quot;Documento ufficiale - File:&amp;quot;&lt;/span&gt; + Application.ActiveDocument.Name;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myHeader.Range.Font.Name = &lt;span style="color:maroon;"&gt;&amp;quot;Bauhaus 93&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myHeader.Range.Font.Size = 9;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myHeader.Range.Font.Color = Word.&lt;span style="color:teal;"&gt;WdColor&lt;/span&gt;.wdColorGray70;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myHeader.Range.ParagraphFormat.Alignment = Word.&lt;span style="color:teal;"&gt;WdParagraphAlignment&lt;/span&gt;.wdAlignParagraphCenter;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myHeader.Range.Underline = Word.&lt;span style="color:teal;"&gt;WdUnderline&lt;/span&gt;.wdUnderlineThick;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;catch&lt;/span&gt; (&lt;span style="color:teal;"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:teal;"&gt;MessageBox&lt;/span&gt;.Show(ex.ToString());&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Ribbon.cs&lt;/strong&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;public&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; MyFunctions(Office.&lt;span style="color:teal;"&gt;IRibbonControl&lt;/span&gt; control)&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//chiamata alle diverse funzioni corrispondenti ai diversi comandi del ribbon&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//attualmente esiste un solo comandoswitch (control.Id)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;switch&lt;/span&gt;(control.Id)&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;case&lt;/span&gt; &lt;span style="color:maroon;"&gt;&amp;quot;FormattaTitolo1&amp;quot;&lt;/span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:teal;"&gt;Globals&lt;/span&gt;.ThisAddIn.FormattaTitolo1();&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;break&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;case&lt;/span&gt; &lt;span style="color:maroon;"&gt;&amp;quot;aggiungiIntestazione01&amp;quot;&lt;/span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:teal;"&gt;Globals&lt;/span&gt;.ThisAddIn.aggiungiIntestazione01();&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;break&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;default&lt;/span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;// aggiungere codice per altre funzioni&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;break&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ThisAddin.vb&lt;/strong&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;public&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; aggiungiIntestazione01()&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//impostiamo la variabile per il documento attivo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;Word.&lt;span style="color:teal;"&gt;Document&lt;/span&gt; myDoc = Application.ActiveDocument;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:green;font-family:'Courier New';"&gt;//impostiamo la variabile per l&amp;#39;intestazione di pagina&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;Word.&lt;span style="color:teal;"&gt;HeaderFooter&lt;/span&gt; myHeader = myDoc.Sections[1].Headers[Microsoft.Office.Interop.Word.&lt;span style="color:teal;"&gt;WdHeaderFooterIndex&lt;/span&gt;.wdHeaderFooterPrimary];&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;try&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//inseriamo e formattiamo l&amp;#39;intestazione di pagina&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//inseriamo il nome del file completo di percorso (attenzione: se il documento &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//non &amp;egrave; ancora stato salvato, il nome del percorso non sar&amp;agrave; disponibile:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (myDoc.Saved == &lt;span style="color:blue;"&gt;true&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;myHeader.Range.Text = &lt;span style="color:maroon;"&gt;&amp;quot;Documento ufficiale - File:&amp;quot;&lt;/span&gt; + myDoc.Path + &lt;span style="color:maroon;"&gt;&amp;quot;&amp;#39;\&amp;#39;&amp;quot;&lt;/span&gt; + Application.ActiveDocument.Name;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myHeader.Range.Text = &lt;span style="color:maroon;"&gt;&amp;quot;Documento ufficiale - File:&amp;quot;&lt;/span&gt; + Application.ActiveDocument.Name;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;myHeader.Range.Font.Name = &lt;span style="color:maroon;"&gt;&amp;quot;Bauhaus 93&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myHeader.Range.Font.Size = 9;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myHeader.Range.Font.Color = Word.&lt;span style="color:teal;"&gt;WdColor&lt;/span&gt;.wdColorGray70;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myHeader.Range.ParagraphFormat.Alignment = Word.&lt;span style="color:teal;"&gt;WdParagraphAlignment&lt;/span&gt;.wdAlignParagraphCenter;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;myHeader.Range.Underline = Word.&lt;span style="color:teal;"&gt;WdUnderline&lt;/span&gt;.wdUnderlineThick;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;catch&lt;/span&gt; (&lt;span style="color:teal;"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:teal;"&gt;MessageBox&lt;/span&gt;.Show(ex.ToString());&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;strong&gt;Ribbon.vb&lt;/strong&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;Public&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; myFunctions(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; control &lt;span style="color:blue;"&gt;As&lt;/span&gt; Office.IRibbonControl)&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:green;font-family:'Courier New';"&gt;&amp;#39;chiamata alle diverse funzioni corrispondenti ai diversi comandi del ribbon&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;&amp;#39;attualmente esiste un solo comando&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Select&lt;/span&gt; &lt;span style="color:blue;"&gt;Case&lt;/span&gt; control.Id&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Case&lt;/span&gt; &lt;span style="color:maroon;"&gt;&amp;quot;FormattaTitolo1&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Globals.ThisAddIn.FormattaTitolo1()&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Case&lt;/span&gt; &lt;span style="color:maroon;"&gt;&amp;quot;aggiungiIntestazione01&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Globals.ThisAddIn.aggiungiIntestazione01()&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Case&lt;/span&gt; &lt;span style="color:blue;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;&amp;#39;aggiungere codice per altre funzioni&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;End&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt; &lt;span style="color:blue;"&gt;Select&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;color:blue;font-family:'Courier New';"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style="background:#e6e6e6;margin:0cm 0cm 0pt;line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ecco il risultato:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/472642045/" title="WordCustomRibbon03"&gt;&lt;img src="http://static.flickr.com/181/472642045_5e656625c3.jpg" border="0" alt="WordCustomRibbon03" width="500" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Se il documento non &amp;egrave; ancora stato salvato, nell&amp;#39;intestazione verr&amp;agrave; inserito solo il nome geerico &lt;strong&gt;Documento1&lt;/strong&gt; e non il percorso:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/472642045/" title="WordCustomRibbon03"&gt;&lt;/a&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/472628522/" title="WordCustomRibbon04"&gt;&lt;img src="http://static.flickr.com/170/472628522_225ab00e41.jpg" border="0" alt="WordCustomRibbon04" width="500" height="197" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Se il documento &amp;egrave; stato salvato, nell&amp;#39;intestazione verr&amp;agrave; inserito il nome del file e il percorso completo:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/472628306/" title="WordCustomRibbon"&gt;&lt;img src="http://static.flickr.com/191/472628306_8f0c089857.jpg" border="0" alt="WordCustomRibbon" width="500" height="163" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Come al solito, in allegato trovate le due applicazioni.&lt;/p&gt;&lt;p&gt;Ciao a tutti &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=5251" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Ribbon" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon/default.aspx" /><category term="VSTO 2005 SE" scheme="http://dotnetside.org/blogs/laura/archive/tags/VSTO+2005+SE/default.aspx" /><category term="VSTO 2005" scheme="http://dotnetside.org/blogs/laura/archive/tags/VSTO+2005/default.aspx" /><category term="Ribbon XML" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon+XML/default.aspx" /><category term="Add-Ins" scheme="http://dotnetside.org/blogs/laura/archive/tags/Add-Ins/default.aspx" /><category term="Word 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Word+2007/default.aspx" /></entry><entry><title>Evento su Asp.Net</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/04/20/Evento-su-Asp.Net.aspx" /><id>/blogs/laura/archive/2007/04/20/Evento-su-Asp.Net.aspx</id><published>2007-04-20T15:53:00Z</published><updated>2007-04-20T15:53:00Z</updated><content type="html">&lt;p&gt;Il 14 Maggio a Firenze si terr&amp;agrave; un evento gratuito su Asp.Net e AJAX nel quale si prevedono poche slides e molta pratica &lt;img src="http://www.dotnetside.org/emoticons/emotion-21.gif" alt="Yes" /&gt;.&lt;/p&gt;&lt;p&gt;Se siete interessati, leggete il post di Emanuele Mattei: &lt;/p&gt;&lt;p&gt;&lt;a href="http://blog.shareoffice.it/emanuele/archive/2007/04/19/8995.aspx" title="http://blog.shareoffice.it/emanuele/archive/2007/04/19/8995.aspx"&gt;http://blog.shareoffice.it/emanuele/archive/2007/04/19/8995.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Ciao a tutti&lt;/p&gt;&lt;p&gt;Laura&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=5195" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Varie" scheme="http://dotnetside.org/blogs/laura/archive/tags/Varie/default.aspx" /></entry><entry><title>Word Custom Ribbon: modifica stile</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/03/30/Word-Custom-Ribbon_3A00_-modifica-stile.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="137026" href="http://dotnetside.org" /><id>/blogs/laura/archive/2007/03/30/Word-Custom-Ribbon_3A00_-modifica-stile.aspx</id><published>2007-03-31T02:15:00Z</published><updated>2007-03-31T02:15:00Z</updated><content type="html">&lt;p&gt;Oggi vediamo un&amp;nbsp;primo esempio sulla personalizzazione del Ribbon di &lt;strong&gt;Word 2007&lt;/strong&gt;, con la creazione di una scheda aggiuntiva contenente, per il momento, un comando che modifica lo stile &lt;strong&gt;Titolo 1 &lt;/strong&gt;nell&amp;#39;intero documento.&lt;/p&gt;&lt;p&gt;Le operazioni da eseguire sono molto simili a quelle gi&amp;agrave; eseguite per Excel e descritte nei post precedenti, che riassumo sinteticamente:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;aprire Visual Studio 2007 e creare un &lt;strong&gt;Word addin&lt;/strong&gt; (in C# o Visual Basic);&lt;/li&gt;&lt;li&gt;aggiungere un item di tipo &lt;strong&gt;RibbonSupport&lt;/strong&gt; che creer&amp;agrave; la classe &lt;strong&gt;Ribbon1.cs&lt;/strong&gt; (&lt;strong&gt;Ribbon1.vb&lt;/strong&gt; per visual basic) e il file di struttura &lt;strong&gt;Ribbon1.xml&lt;/strong&gt; (comune ad entrambi i linguaggi);&lt;/li&gt;&lt;li&gt;sostituire la struttura del Ribbon1.xml con la seguente:&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Ribbon1.xml &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;customUI xmlns=&amp;quot;http://schemas.microsoft.com/office/2006/01/customui&amp;quot; onLoad=&amp;quot;OnLoad&amp;quot;&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;ribbon startFromScratch =&amp;quot;false&amp;quot;&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;tabs&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;tab id=&amp;quot;Men&amp;ugrave;Azienda&amp;quot; &lt;/p&gt;&lt;p&gt;label=&amp;quot;Men&amp;ugrave; aziendale VB&amp;quot;&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;group id=&amp;quot;FormatoCarattere&amp;quot; &lt;/p&gt;&lt;p&gt;label=&amp;quot;Formati carattere&amp;quot;&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;button id =&amp;quot;FormattaTitolo1&amp;quot; &lt;/p&gt;&lt;p&gt;size =&amp;quot;normal&amp;quot; &lt;/p&gt;&lt;p&gt;label =&amp;quot;Formatta Titolo 1&amp;quot; &lt;/p&gt;&lt;p&gt;screentip =&amp;quot;Formatta il testo con stile Titolo 1&amp;quot; &lt;/p&gt;&lt;p&gt;supertip =&amp;quot;Porta lo stile Titolo 1 a 16 punti,carattere Arial Black, grassetto e corsivo&amp;quot; &lt;/p&gt;&lt;p&gt;onAction = &amp;quot;&lt;strong&gt;myFunctions&lt;/strong&gt;&amp;quot; &lt;/p&gt;&lt;p&gt;imageMso =&amp;quot;ChangeStylesMenu&amp;quot;/&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/group&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/tab&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;tab idMso =&amp;quot;TabHome&amp;quot;&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;group idMso=&amp;quot;GroupFont&amp;quot; &amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;comboBox idMso =&amp;quot;fontSize&amp;quot; visible =&amp;quot;false&amp;quot;/&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/group&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/tab&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/tabs&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/ribbon&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/customUI&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;attivare il codice commentato (indicato con il commento TODO), nella classe &lt;strong&gt;Ribbon1.cs&lt;/strong&gt; (e analogamente nella classe &lt;strong&gt;Ribbon1.vb&lt;/strong&gt;)&lt;/li&gt;&lt;li&gt;aggiungere la callback &lt;strong&gt;myFunctions&lt;/strong&gt; nella regione delle callbacks del file &lt;strong&gt;Ribbon1.cs&lt;/strong&gt; (e &lt;strong&gt;Ribbon1.vb&lt;/strong&gt;):&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;#region Ribbon Callbacks&lt;/p&gt;&lt;p&gt;public void MyFunctions(Office.IRibbonControl control) &lt;/p&gt;&lt;p&gt;{ &lt;/p&gt;&lt;p&gt;//chiamata alle diverse funzioni corrispondenti ai diversi comandi del ribbon &lt;/p&gt;&lt;p&gt;//attualmente esiste un solo comandoswitch (control.Id) &lt;/p&gt;&lt;p&gt;switch(control.Id) &lt;/p&gt;&lt;p&gt;{ &lt;/p&gt;&lt;p&gt;case &amp;quot;FormattaTitolo1&amp;quot;: &lt;/p&gt;&lt;p&gt;Globals.ThisAddIn.FormattaTitolo1(); &lt;/p&gt;&lt;p&gt;break; &lt;/p&gt;&lt;p&gt;default: &lt;/p&gt;&lt;p&gt;// aggiungere codice per altre funzioni &lt;/p&gt;&lt;p&gt;break; &lt;/p&gt;&lt;p&gt;} &lt;/p&gt;&lt;p&gt;} &lt;/p&gt;&lt;p&gt;#endregion&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;VB&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;#Region &amp;quot;Ribbon Callbacks&amp;quot; &lt;/p&gt;&lt;p&gt;Public Sub myFunctions(ByVal control As Office.IRibbonControl) &lt;/p&gt;&lt;p&gt;&amp;#39;chiamata alle diverse funzioni corrispondenti ai diversi comandi del ribbon &lt;/p&gt;&lt;p&gt;&amp;#39;attualmente esiste un solo comando &lt;/p&gt;&lt;p&gt;Select Case control.Id &lt;/p&gt;&lt;p&gt;Case &amp;quot;FormattaTitolo1&amp;quot; &lt;/p&gt;&lt;p&gt;Globals.ThisAddIn.FormattaTitolo1() &lt;/p&gt;&lt;p&gt;Case Else &lt;/p&gt;&lt;p&gt;&amp;#39;aggiungere codice per altre funzioni &lt;/p&gt;&lt;p&gt;End Select &lt;/p&gt;&lt;p&gt;End Sub &lt;/p&gt;&lt;p&gt;#End Region&lt;/p&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;creare il metodo per l&amp;#39;esecuzione della funzionalit&amp;agrave; nella classe &lt;strong&gt;ThisAddin.cs&lt;/strong&gt; (&lt;strong&gt;ThisAddin.vb&lt;/strong&gt; per Visual Basic):&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;public void FormattaTitolo1()&lt;/p&gt;&lt;p&gt;{ &lt;/p&gt;&lt;p&gt;try &lt;/p&gt;&lt;p&gt;{ &lt;/p&gt;&lt;p&gt;//impostiamo la variabile per il documento attivo &lt;/p&gt;&lt;p&gt;Word.Document myDoc = Application.ActiveDocument; &lt;/p&gt;&lt;p&gt;//impostiamo la variabile oggetto per passare il nome dello stile &lt;/p&gt;&lt;p&gt;object styleName = &amp;quot;Titolo 1&amp;quot;; &lt;/p&gt;&lt;p&gt;//impostiamo la variabile per lo stile Titolo 1 &lt;/p&gt;&lt;p&gt;Word.Style myStyle = myDoc.Styles.get_Item(ref styleName); &lt;/p&gt;&lt;p&gt;//impostiamo la variabile booleana &lt;/p&gt;&lt;p&gt;Boolean updAutom = false; &lt;/p&gt;&lt;p&gt;//rileviamo l&amp;#39;impostazione della propriet&amp;agrave; &amp;quot;aggiorna automaticamente&amp;quot; dello stile Titolo 1 &lt;/p&gt;&lt;p&gt;//in modo da poterla impostare a true prima di effettuare le modifiche &lt;/p&gt;&lt;p&gt;//e poterla poi riportare al valore precedente al termine delle modifiche &lt;/p&gt;&lt;p&gt;updAutom = myStyle.AutomaticallyUpdate; &lt;/p&gt;&lt;p&gt;//impostiamo a true l&amp;#39;aggiornamento automatico &lt;/p&gt;&lt;p&gt;myStyle.AutomaticallyUpdate.Equals(true); &lt;/p&gt;&lt;p&gt;//apportiamo le modifiche necessarie allo stile Titolo 1 &lt;/p&gt;&lt;p&gt;myStyle.Font.Size = 22; &lt;/p&gt;&lt;p&gt;myStyle.Font.Name = &amp;quot;Tahoma&amp;quot;; &lt;/p&gt;&lt;p&gt;myStyle.Font.Color = Word.WdColor.wdColorDarkRed; &lt;/p&gt;&lt;p&gt;myStyle.Font.Bold = 1; &lt;/p&gt;&lt;p&gt;myStyle.Font.Italic = 0; &lt;/p&gt;&lt;p&gt;//assegnamo un bordo inferiore al paragrafo &lt;/p&gt;&lt;p&gt;myStyle.ParagraphFormat.Borders[Word.WdBorderType.wdBorderBottom].LineStyle = Word.WdLineStyle.wdLineStyleSingle; &lt;/p&gt;&lt;p&gt;myStyle.ParagraphFormat.Borders[Word.WdBorderType.wdBorderBottom].LineWidth = Word.WdLineWidth.wdLineWidth100pt; &lt;/p&gt;&lt;p&gt;myStyle.ParagraphFormat.Borders[Word.WdBorderType.wdBorderBottom].Color= Word.WdColor.wdColorDarkRed; &lt;/p&gt;&lt;p&gt;//allinemanto centrato &lt;/p&gt;&lt;p&gt;myStyle.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter; &lt;/p&gt;&lt;p&gt;//riportiamo l&amp;#39;opzione di aggiornamento automatico allo stato originale &lt;/p&gt;&lt;p&gt;myStyle.AutomaticallyUpdate = updAutom; &lt;/p&gt;&lt;p&gt;} &lt;/p&gt;&lt;p&gt;catch &lt;/p&gt;&lt;p&gt;{ &lt;/p&gt;&lt;p&gt;MessageBox.Show(&amp;quot;Operazione non riuscita&amp;quot;); &lt;/p&gt;&lt;p&gt;} &lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;VB&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;Public Sub FormattaTitolo1() &lt;/p&gt;&lt;p&gt;Dim myDoc As Word.Document &lt;/p&gt;&lt;p&gt;Dim myStyle As Word.Style &lt;/p&gt;&lt;p&gt;Dim updAutom As Boolean &lt;/p&gt;&lt;p&gt;Try &lt;/p&gt;&lt;p&gt;&amp;#39;impostiamo la variabile per il documento attivo &lt;/p&gt;&lt;p&gt;myDoc = Application.ActiveDocument &lt;/p&gt;&lt;p&gt;&amp;#39;impostiamo la variabile per lo stile da modificare &lt;/p&gt;&lt;p&gt;myStyle = myDoc.Styles('Titolo 1') &lt;/p&gt;&lt;p&gt;&amp;#39;rileviamo l&amp;#39;impostazione della propriet&amp;agrave; &amp;quot;aggiorna automaticamente&amp;quot; dello stile Titolo 1 &lt;/p&gt;&lt;p&gt;&amp;#39;in modo da poterla impostare a true prima di effettuare le modifiche &lt;/p&gt;&lt;p&gt;&amp;#39;e poterla poi riportare al valore precedente al termine delle modifiche &lt;/p&gt;&lt;p&gt;updAutom = myStyle.AutomaticallyUpdate &lt;/p&gt;&lt;p&gt;&amp;#39;impostiamo a true l&amp;#39;aggiornamento automatico &lt;/p&gt;&lt;p&gt;myStyle.AutomaticallyUpdate = True &lt;/p&gt;&lt;p&gt;&amp;#39;apportiamo le modifiche necessarie allo stile Titolo 1 &lt;/p&gt;&lt;p&gt;With myStyle.Font &lt;/p&gt;&lt;p&gt;.Name = &amp;quot;Haettenschweiler&amp;quot; &lt;/p&gt;&lt;p&gt;.Color = Word.WdColor.wdColorDarkRed &lt;/p&gt;&lt;p&gt;.Size = 22 &lt;/p&gt;&lt;p&gt;.Bold = False &lt;/p&gt;&lt;p&gt;.Italic = False &lt;/p&gt;&lt;p&gt;End With &lt;/p&gt;&lt;p&gt;&amp;#39;assegnamo un bordo inferiore al paragrafo &lt;/p&gt;&lt;p&gt;With myStyle.ParagraphFormat &lt;/p&gt;&lt;p&gt;.Borders(Word.WdBorderType.wdBorderBottom).LineStyle = Word.WdLineStyle.wdLineStyleSingle &lt;/p&gt;&lt;p&gt;.Borders(Word.WdBorderType.wdBorderBottom).LineWidth = Word.WdLineWidth.wdLineWidth100pt &lt;/p&gt;&lt;p&gt;.Borders(Word.WdBorderType.wdBorderBottom).Color = Word.WdColor.wdColorDarkRed &lt;/p&gt;&lt;p&gt;&amp;#39;allinemanto centrato &lt;/p&gt;&lt;p&gt;.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter &lt;/p&gt;&lt;p&gt;End With &lt;/p&gt;&lt;p&gt;&amp;#39;riportiamo l&amp;#39;opzione di aggiornamento automatico allo stato originale &lt;/p&gt;&lt;p&gt;myStyle.AutomaticallyUpdate = updAutom &lt;/p&gt;&lt;p&gt;Catch ex As Exception &lt;/p&gt;&lt;p&gt;MessageBox.Show(&amp;quot;Operazione non riuscita&amp;quot;) &lt;/p&gt;&lt;p&gt;End Try &lt;/p&gt;&lt;p&gt;End Sub&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Per fare delle prove potete usare un qualsiasi documento con del testo che abbia, tra gli altri, lo stile Titolo 1, e vedere il risultato. &lt;/p&gt;&lt;p&gt;Io ho utilizzato il file &lt;strong&gt;WordCustomRibbon_01.docx&lt;/strong&gt; (contenuto nell&amp;#39;allegato) che, oltre a prestarsi allo scopo, contiene tutto il codice necessario, da copiare e incollare nei nuovi progetti. &lt;/p&gt;&lt;p&gt;Il file contiene diversi titoli con lo stile &lt;strong&gt;Titolo 1 &lt;/strong&gt;e una nuova scheda &lt;strong&gt;Men&amp;ugrave; Aziendale&lt;/strong&gt; (nel mio caso sono due perch&amp;egrave; ho caricato entrambi gli addins) con il comando &lt;strong&gt;Formatta Titolo 1&lt;/strong&gt;:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/439940777/" title="WordCustomRibbon01"&gt;&lt;img src="http://static.flickr.com/206/439940777_d577361132.jpg" border="0" alt="WordCustomRibbon01" width="500" height="341" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Dopo aver fatto click sul comando, tutti i titoli assumono la formattazione assegnata:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/439940829/" title="WordCustomRibbon02"&gt;&lt;img src="http://static.flickr.com/197/439940829_7440ee597d.jpg" border="0" alt="WordCustomRibbon02" width="500" height="347" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Naturalmente, come sempre, in allegato trovate entrambe le applicazioni e il file per l&amp;#39;esempio.&lt;/p&gt;&lt;p&gt;Ciao a tutti&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=5072" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Ribbon" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon/default.aspx" /><category term="Office 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Office+2007/default.aspx" /><category term="VSTO 2005 SE" scheme="http://dotnetside.org/blogs/laura/archive/tags/VSTO+2005+SE/default.aspx" /><category term="Add-Ins" scheme="http://dotnetside.org/blogs/laura/archive/tags/Add-Ins/default.aspx" /><category term="Word 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Word+2007/default.aspx" /></entry><entry><title>Materiale del Ready For a New Day</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/03/27/Materiale-del-Ready-For-a-New-Day.aspx" /><id>/blogs/laura/archive/2007/03/27/Materiale-del-Ready-For-a-New-Day.aspx</id><published>2007-03-28T00:45:00Z</published><updated>2007-03-28T00:45:00Z</updated><content type="html">&lt;p&gt;Come promesso, ecco tutto il materiale relativo alla sessione di Office che ho tenuto a Bari il 23 Marzo:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;la presentazione;&lt;/li&gt;&lt;li&gt;il progetto in &lt;strong&gt;C#&lt;/strong&gt; e in &lt;strong&gt;Visual basic&lt;/strong&gt;;&lt;/li&gt;&lt;li&gt;l&amp;#39;elenco dei controlli del Ribbon per excel, indispensabile per reperire i corretti id di tabs, gruppi e controlli vari ;&lt;/li&gt;&lt;li&gt;un file excel con le &lt;strong&gt;galleries di immagini&lt;/strong&gt; Office da assegnare ai comandi personalizzati del Ribbon.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;E&amp;#39;&amp;nbsp;possibile scaricare il tutto all&amp;#39;indirizzo: &lt;a href="http://www.dotnetside.org/files/folders/ready_for__a_new_day/category1218.aspx" target="_blank"&gt;http://www.dotnetside.org/files/folders/ready_for__a_new_day/category1218.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Per poter accedere al download &amp;egrave; necessario essere registrati al sito.&amp;nbsp;&lt;/p&gt;&lt;p&gt;In particolare, il file con le galleries, reperibile anche su Internet, &amp;egrave; in una versione &lt;strong&gt;personalizzata&lt;/strong&gt; da me, come spiegato anche nel mio post: &lt;a href="http://www.dotnetside.org/blogs/laura/archive/2007/01/09/Office-Icon-Gallery.aspx"&gt;&lt;strong&gt;Office Icon Gallery&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Un ringraziamento&amp;nbsp;a Dotnetside, per avermi dato questa possibilit&amp;agrave;;&amp;nbsp;a tutti i partecipanti, che hanno pazientemente subito la mia &amp;quot;corsa&amp;quot; finale mentre Tiziana mi diceva di &amp;quot;stringere&amp;quot;;&amp;nbsp;e, in particolare, a&lt;strong&gt; &lt;/strong&gt;&lt;a href="http://www.dotnetside.org/blogs/mighell/archive/2007/03/24/Ready-for-a-new-day_3A00_-WOW_2100_.aspx"&gt;&lt;strong&gt;Mighell&lt;/strong&gt;&lt;/a&gt; e a &lt;a href="http://blogs.dotnethell.it/gerardo/Ready-for-a-new-day-WOW__10147.aspx"&gt;&lt;strong&gt;Gerardo&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;per aver risolto brillantemente il problema del monitor, che avrebbe potuto compromettere la sessione!&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Grazie ancora a tutti&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=4985" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Ribbon" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon/default.aspx" /><category term="Office 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Office+2007/default.aspx" /><category term="VSTO 2005 SE" scheme="http://dotnetside.org/blogs/laura/archive/tags/VSTO+2005+SE/default.aspx" /><category term="Ribbon XML" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon+XML/default.aspx" /><category term="Add-Ins" scheme="http://dotnetside.org/blogs/laura/archive/tags/Add-Ins/default.aspx" /><category term="Sessioni" scheme="http://dotnetside.org/blogs/laura/archive/tags/Sessioni/default.aspx" /></entry><entry><title>Personalizzazione del Ribbon di Access 2007 (2)</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/03/11/Personalizzazione-del-Ribbon-di-Access-2007-_2800_2_2900_.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="149551" href="http://dotnetside.org" /><id>/blogs/laura/archive/2007/03/11/Personalizzazione-del-Ribbon-di-Access-2007-_2800_2_2900_.aspx</id><published>2007-03-11T18:47:00Z</published><updated>2007-03-11T18:47:00Z</updated><content type="html">&lt;p&gt;Nel post precedente : &lt;a href="http://www.dotnetside.org/blogs/laura/archive/2007/03/07/Personalizzazione-del-Ribbon-di-Access-2007-_2800_1_2900_.aspx" title="Personalizzazione del Ribbon di Access 2007 (1)"&gt;Personalizzazione del Ribbon di Access 2007 (1)&lt;/a&gt;&amp;nbsp;ho creato una nuova scheda per il Ribbon di Access utilizzando delle macro per le callbacks relative ai bottoni.&lt;/p&gt;&lt;p&gt;Nell&amp;#39;esempio di questo post, invece, ho&amp;nbsp;utilizzato una subroutine creata in un modulo di &lt;strong&gt;VBA&lt;/strong&gt;, che costituisce un&amp;#39;alternativa migliore e pi&amp;ugrave; flessibile alle macro.&lt;/p&gt;&lt;p&gt;Allo scopo, ho suddiviso la scheda del Ribbon in due gruppi: &lt;strong&gt;Reportistica&lt;/strong&gt; e &lt;strong&gt;Inserimento dati&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Nel primo, ho lasciato i due comandi gi&amp;agrave; presenti nell&amp;#39;allegato al post precedente; nel secondo, ho aggiunto un bottone per l&amp;#39;apertura di un semplice form di inserimento dati, mediante la callback &lt;strong&gt;InserisciStudenti&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;La struttura &lt;strong&gt;xml&lt;/strong&gt; &amp;egrave; la seguente:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;customUI xmlns=&amp;quot;&lt;a href="http://schemas.microsoft.com/office/2006/01/customui&amp;quot;"&gt;http://schemas.microsoft.com/office/2006/01/customui&amp;quot;&lt;/a&gt;&amp;gt;&lt;br /&gt;&amp;lt;ribbon startFromScratch=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;tabs&amp;gt;&lt;br /&gt;&amp;lt;tab id=&amp;quot;GestioneGeneraleID&amp;quot; label=&amp;quot;Gestione generale&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;group id=&amp;quot;ReportisticaID&amp;quot; label=&amp;quot;Reportistica&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;button id=&amp;quot;RubricaStudenti&amp;quot; label=&amp;quot;Rubrica Studenti&amp;quot; size=&amp;quot;large&amp;quot; screentip=&amp;quot;Elenco telefonico Studenti&amp;quot; supertip=&amp;quot;elenco esportabile in excel&amp;quot; onAction=&amp;quot;RubricaStudenti&amp;quot; imageMso=&amp;quot;CreateReport&amp;quot; /&amp;gt; &lt;br /&gt;&amp;lt;button id=&amp;quot;StudentiLivello&amp;quot; label=&amp;quot;Studenti per livelloi&amp;quot; size=&amp;quot;large&amp;quot; screentip=&amp;quot;Elenco degli studenti&amp;quot; supertip=&amp;quot;elenco esportabile in excel&amp;quot; onAction=&amp;quot;StudentiLivello&amp;quot; imageMso=&amp;quot;CreateReport&amp;quot; /&amp;gt; &lt;br /&gt;&amp;lt;/group&amp;gt;&lt;br /&gt;&amp;lt;group id=&amp;quot;InserimentoDatiID&amp;quot; label=&amp;quot;Inserimento Dati&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;button id=&amp;quot;InserisciStudenti&amp;quot; label=&amp;quot;Nuovi studenti&amp;quot; size=&amp;quot;large&amp;quot; screentip=&amp;quot;Aggiunta e modifica studenti&amp;quot; supertip=&amp;quot;Consente l&amp;#39;immissione di nuovi studenti e la gestione di quelli esistenti&amp;quot; onAction=&amp;quot;&lt;strong&gt;InserisciStudenti&lt;/strong&gt;&amp;quot; imageMso=&amp;quot;RecordsAddFromOutlook&amp;quot; /&amp;gt; &lt;br /&gt;&amp;lt;/group&amp;gt;&lt;br /&gt;&amp;lt;/tab&amp;gt;&lt;br /&gt;&amp;lt;/tabs&amp;gt;&lt;br /&gt;&amp;lt;/ribbon&amp;gt;&lt;br /&gt;&amp;lt;/customUI&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Successivamente, ho eseguito le seguenti operazioni:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;creazione di un nuovo modulo denominato &lt;strong&gt;CallBack&lt;/strong&gt;;&lt;/li&gt;&lt;li&gt;aggiunta del riferimento alla libreria &lt;strong&gt;Microsoft Office 12.0 Object Library&lt;/strong&gt;;&lt;/li&gt;&lt;li&gt;creazione della seguente public sub:&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Public Sub InserisciStudenti(control As IRibbonControl)&lt;br /&gt;DoCmd.OpenForm &amp;quot;InserisciStudenti&amp;quot;&lt;br /&gt;End Sub&lt;/p&gt;&lt;p&gt;Ed ecco il risultato:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/417386264/" title="RibbonAccess2"&gt;&lt;img src="http://static.flickr.com/161/417386264_48c70bbbfa.jpg" border="0" alt="RibbonAccess2" width="500" height="226" /&gt;&lt;/a&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Errata corrige al post precedente&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Riguardando il post precedente, mi sono accorta della mancanza di un&amp;#39;operazione&amp;nbsp;fondamentale&amp;nbsp;da eseguire per attivare il ribbon personalizzato, senza la quale, pur essendo tutto corretto, la nuova scheda non verr&amp;agrave; visualizzata.&lt;/p&gt;&lt;p&gt;L&amp;#39;operazione mancante &amp;egrave; costituita dall&amp;#39;attivazione della nuova scheda nel database corrente, mediante il valore del campo &lt;strong&gt;RibbonName&lt;/strong&gt; della tabella &lt;strong&gt;USysRibbons&lt;/strong&gt;:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;aprire il Men&amp;ugrave; &lt;strong&gt;Office&lt;/strong&gt;;&lt;/li&gt;&lt;li&gt;click su &lt;strong&gt;Opzioni di Access&lt;/strong&gt;;&lt;/li&gt;&lt;li&gt;click su &lt;strong&gt;Database corrente&lt;/strong&gt;;&lt;/li&gt;&lt;li&gt;nella sezione &lt;strong&gt;Barra multifunzione e barra degli strumenti&lt;/strong&gt;, selezionare il nome del Ribbon (gi&amp;agrave; presente in elenco);&lt;/li&gt;&lt;li&gt;chiudere e riaprire il db&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/417386205/" title="RibbonAccess1"&gt;&lt;img src="http://static.flickr.com/126/417386205_f186ec3605.jpg" border="0" alt="RibbonAccess1" width="500" height="364" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Come sempre, vi allego l&amp;#39;esempio completo.&lt;/p&gt;&lt;p&gt;Ciao a tutti&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=4885" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Office 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Office+2007/default.aspx" /><category term="Ribbon XML" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon+XML/default.aspx" /><category term="VBA" scheme="http://dotnetside.org/blogs/laura/archive/tags/VBA/default.aspx" /><category term="Access 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Access+2007/default.aspx" /></entry><entry><title>Personalizzazione del Ribbon di Access 2007 (1)</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/03/07/Personalizzazione-del-Ribbon-di-Access-2007-_2800_1_2900_.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="145861" href="http://dotnetside.org" /><id>/blogs/laura/archive/2007/03/07/Personalizzazione-del-Ribbon-di-Access-2007-_2800_1_2900_.aspx</id><published>2007-03-08T04:21:00Z</published><updated>2007-03-08T04:21:00Z</updated><content type="html">&lt;p&gt;A differenza delle altre applicazioni di Office, la personalizzazione del Ribbon in Access 2007 non avviene mediante la creazione di un Add-in.&lt;/p&gt;&lt;p&gt;La struttura xml che rappresenta la&amp;nbsp;configurazione del Ribbon, pu&amp;ograve; essere gestita in due modalit&amp;agrave;, delle quali vedremo la&amp;nbsp;prima in questo post: &lt;strong&gt;la creazione di una tabella all&amp;#39;interno del database&lt;/strong&gt;.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Allo scopo, dobbiamo:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;creare&amp;nbsp;un nuovo database basato, ad esempio,&amp;nbsp;sul modello &lt;strong&gt;Studenti&lt;/strong&gt;; &lt;/li&gt;&lt;li&gt;creare una tabella denominata &lt;strong&gt;USysRibbons&lt;/strong&gt;; &lt;/li&gt;&lt;li&gt;all&amp;#39;interno di tale tabella, creare i due campi &lt;strong&gt;RibbonName&lt;/strong&gt; (formato testo) e &lt;strong&gt;RibbonXML&lt;/strong&gt;(formato memo); &lt;/li&gt;&lt;li&gt;inserire nel primo campo un nome per il Ribbon personalizzato; &lt;/li&gt;&lt;li&gt;inserire nel secondo campo la struttura xml del Ribbon (gruppi, comandi, ecc), esattamente nello stesso modo in cui abbiamo realizzato il Ribbon per Word o Excel (post precedenti).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Nel mio esempio, ho assegnato i seguenti valori ai due campi:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;RibbonName&lt;/strong&gt;: MyRibbonHome &lt;/li&gt;&lt;li&gt;&lt;strong&gt;RibbonXML&lt;/strong&gt;: &lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;customUI xmlns=&amp;quot;&lt;a href="http://schemas.microsoft.com/office/2006/01/customui&amp;quot;"&gt;http://schemas.microsoft.com/office/2006/01/customui&amp;quot;&lt;/a&gt;&amp;gt; &amp;lt;ribbon startFromScratch=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;tabs&amp;gt; &lt;br /&gt;&amp;lt;tab id=&amp;quot;ReportisticaID&amp;quot; label=&amp;quot;Reportistica&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;group id=&amp;quot;ProgettiID&amp;quot; label=&amp;quot;Progetti&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;button id=&amp;quot;RubricaStudenti&amp;quot; label=&amp;quot;Rubrica Studenti&amp;quot; size = &amp;quot;large&amp;quot; screentip = &amp;quot;Elenco telefonico Studenti&amp;quot; supertip = &amp;quot;elenco esportabile in excel&amp;quot; onAction = &amp;quot;RubricaStudenti&amp;quot; imageMso = &amp;quot;CreateReport&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;button id=&amp;quot;StudentiLivello&amp;quot; label=&amp;quot;Studenti per livelloi&amp;quot; size = &amp;quot;large&amp;quot; screentip = &amp;quot;Elenco degli studenti&amp;quot; supertip = &amp;quot;elenco esportabile in excel&amp;quot; onAction = &amp;quot;StudentiLivello&amp;quot; imageMso = &amp;quot;CreateReport&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;/group&amp;gt;&lt;br /&gt;&amp;lt;/tab&amp;gt;&lt;br /&gt;&amp;lt;/tabs&amp;gt;&lt;br /&gt;&amp;lt;/ribbon&amp;gt;&lt;br /&gt;&amp;lt;/customUI&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;A ciascuno dei due comandi creati, ho assegnato il nome di una semplice macro che apre un report e il gioco &amp;egrave; fatto!&lt;/p&gt;&lt;p&gt;Basta chiudere e riaprire il database ed ecco il risultato:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;a href="http://www.flickr.com/photos/47133538@N00/413922045/" title="RibbonAccess01"&gt;&lt;img src="http://static.flickr.com/170/413922045_6715a71e3b.jpg" border="0" alt="RibbonAccess01" width="500" height="259" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;In allegato trovate il database pronto.&lt;/p&gt;&lt;p&gt;Per chiarimenti di ogni genere su Access lasciate un commento.&lt;/p&gt;&lt;p&gt;Ciao a tutti&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=4862" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Office 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Office+2007/default.aspx" /><category term="Ribbon XML" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon+XML/default.aspx" /><category term="VBA" scheme="http://dotnetside.org/blogs/laura/archive/tags/VBA/default.aspx" /><category term="Access 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Access+2007/default.aspx" /></entry><entry><title>Tabelle di Excel 2007</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/02/07/Tabelle-di-Excel-2007.aspx" /><id>/blogs/laura/archive/2007/02/07/Tabelle-di-Excel-2007.aspx</id><published>2007-02-08T04:52:00Z</published><updated>2007-02-08T04:52:00Z</updated><content type="html">&lt;p&gt;Se siete interessati ad una panoramica sulle nuove Tabelle di Excel leggete l&amp;#39;approfondimento:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.dotnetside.org/blogs/laura/pages/Tabelle-di-Excel-2007_3A00_-elenchi-rinnovati_2100_.aspx" target="_blank"&gt;Tabelle di Excel: elenchi rinnovati!&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ciao a tutti&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=4408" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Varie" scheme="http://dotnetside.org/blogs/laura/archive/tags/Varie/default.aspx" /><category term="Novit&amp;#224;" scheme="http://dotnetside.org/blogs/laura/archive/tags/Novit_26002300_224_3B00_/default.aspx" /><category term="Office 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Office+2007/default.aspx" /><category term="Excel" scheme="http://dotnetside.org/blogs/laura/archive/tags/Excel/default.aspx" /></entry><entry><title>Excel 2007: formattazione condizionale</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/01/29/Excel-2007_3A00_-formattazione-condizionale.aspx" /><id>/blogs/laura/archive/2007/01/29/Excel-2007_3A00_-formattazione-condizionale.aspx</id><published>2007-01-30T01:45:00Z</published><updated>2007-01-30T01:45:00Z</updated><content type="html">&lt;p&gt;Se siete interessati ad alcune novit&amp;agrave;&amp;nbsp;sulla formattazione condizionale di Excel 2007, guardate l&amp;#39;approfondimento alla pagina:&lt;a href="http://www.dotnetside.org/blogs/laura/pages/Excel-2007_3A00_-formattazione-condizionale.aspx" target="_blank"&gt; Formattazione condizionale in Excel 2007 e VBA in Excel 2003&lt;/a&gt;&lt;/p&gt;&lt;p&gt;E se avete richieste in merito, fatemelo sapere &lt;img src="http://www.dotnetside.org/emoticons/emotion-21.gif" alt="Yes" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ciao a tutti&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=4320" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Novit&amp;#224;" scheme="http://dotnetside.org/blogs/laura/archive/tags/Novit_26002300_224_3B00_/default.aspx" /><category term="Office 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Office+2007/default.aspx" /><category term="Excel" scheme="http://dotnetside.org/blogs/laura/archive/tags/Excel/default.aspx" /><category term="VBA" scheme="http://dotnetside.org/blogs/laura/archive/tags/VBA/default.aspx" /></entry><entry><title>Assegnare immagini di formato diverso ad un comando del Ribbon</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/01/25/Assegnare-immagini-di-formato-diverso-ad-un-comando-del-Ribbon.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="161957" href="http://dotnetside.org" /><id>/blogs/laura/archive/2007/01/25/Assegnare-immagini-di-formato-diverso-ad-un-comando-del-Ribbon.aspx</id><published>2007-01-25T21:32:00Z</published><updated>2007-01-25T21:32:00Z</updated><content type="html">&lt;p&gt;Oggi vorrei completare il post &lt;a href="http://www.dotnetside.org/blogs/laura/archive/2007/01/20/.NET-Ribbon_210021002100_.aspx" target="_blank" title=".NET Ribbon"&gt;.NET Ribbon&lt;/a&gt;&amp;nbsp;con il codice necessario&amp;nbsp;per assegnare ad un comando del Ribbon&amp;nbsp;immagini di vario formato: ico, jpg, bmp, gif, ecc.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Scaricate (se non l&amp;#39;avete gi&amp;agrave; fatto &lt;img src="http://www.dotnetside.org/emoticons/emotion-2.gif" alt="Big Smile" /&gt;) l&amp;#39;applicazione allegata al post &lt;a href="http://www.dotnetside.org/blogs/laura/archive/2007/01/12/Assegnare-immagini-personalizzate-ad-un-comando-del-Ribbon.aspx" target="_blank" title="Assegnare immagini personalizzate ad un comando del Ribbon"&gt;Assegnare immagini personalizzate ad un comando del Ribbon&lt;/a&gt;&amp;nbsp;e, seguendo le istruzioni del post, &amp;nbsp;predisponete tre comandi sul tab personalizzato, e tre file di risorsa per le rispettive immagini (io ho utilizzato un file .ico, un file&amp;nbsp;.gif e un file .bmp)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;font color="#ff8040"&gt;1. Modificare il file Ribbon1.xlm&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Il file Ribbon1.xml dovrebbe avere la seguente struttura:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;lt;customUI xmlns=&amp;quot;http://schemas.microsoft.com/office/2006/01/customui&amp;quot; onLoad=&amp;quot;OnLoad&amp;quot;&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;ribbon&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;tabs&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;tab id=&amp;quot;SchedaPersonalizzata&amp;quot; &lt;/p&gt;&lt;p&gt;label =&amp;quot;Laura&amp;quot;&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;group id=&amp;quot;Immagini&amp;quot; &lt;/p&gt;&lt;p&gt;label=&amp;quot;Immagini aziendali&amp;quot; &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;toggleButton id=&amp;quot;InserisciLogo01&amp;quot;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;size=&amp;quot;large&amp;quot; &lt;/p&gt;&lt;p&gt;label=&amp;quot;Inserisci Logo Ufficiale&amp;quot; &lt;/p&gt;&lt;p&gt;screentip=&amp;quot;Inserisce il logo ufficiale in corrispondenza del cursore&amp;quot; &lt;/p&gt;&lt;p&gt;onAction=&amp;quot;OnToggleButton&amp;quot; &lt;/p&gt;&lt;p&gt;getImage =&amp;quot;GetMyImage&amp;quot; /&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;toggleButton id=&amp;quot;InserisciLogo02&amp;quot; &lt;/p&gt;&lt;p&gt;size=&amp;quot;large&amp;quot; &lt;/p&gt;&lt;p&gt;label=&amp;quot;Inserisci Logo per web&amp;quot; &lt;/p&gt;&lt;p&gt;screentip=&amp;quot;Inserisce il logo web in corrispondenza del cursore&amp;quot; &lt;/p&gt;&lt;p&gt;onAction=&amp;quot;OnToggleButton&amp;quot; &lt;/p&gt;&lt;p&gt;getImage =&amp;quot;GetMyImage&amp;quot; /&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;toggleButton id=&amp;quot;InserisciLogo03&amp;quot; &lt;/p&gt;&lt;p&gt;size=&amp;quot;large&amp;quot; &lt;/p&gt;&lt;p&gt;label=&amp;quot;Inserisci Logo interno&amp;quot; &lt;/p&gt;&lt;p&gt;screentip=&amp;quot;Inserisce il logo per la documentazione interna in corrispondenza del cursore&amp;quot; &lt;/p&gt;&lt;p&gt;onAction=&amp;quot;OnToggleButton&amp;quot; &lt;/p&gt;&lt;p&gt;getImage =&amp;quot;GetMyImage&amp;quot; /&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;lt;/group&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/tab&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/tabs&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/ribbon&amp;gt; &lt;/p&gt;&lt;p&gt;&amp;lt;/customUI&amp;gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;font color="#ff8040"&gt;2. Modificare la funzione GetMyImage&lt;/font&gt;&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;Modificate la funzione GetMyImage in modo da passare l&amp;#39;immagine corrispondente ad&amp;nbsp; ogni controllo del Ribbon: &lt;/p&gt;&lt;p&gt;public stdole.IPictureDisp GetMyImage(Office.IRibbonControl control) &lt;/p&gt;&lt;p&gt;{ &lt;/p&gt;&lt;p&gt;stdole.IPictureDisp pictureDisp = null; &lt;/p&gt;&lt;p&gt;switch (control.Id) &lt;/p&gt;&lt;p&gt;{ &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;case &amp;quot;InserisciLogo01&amp;quot;:&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;pictureDisp =&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;ImageConverter.Convert(GetResourceBitmap(&amp;quot;sqltut.ico&amp;quot;));&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;break;&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;case &amp;quot;InserisciLogo02&amp;quot;:&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;pictureDisp =&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;ImageConverter.Convert(GetResourceBitmap(&amp;quot;Logo.bmp&amp;quot;));&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;break;&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;case &amp;quot;InserisciLogo03&amp;quot;:&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;pictureDisp =&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;ImageConverter.Convert(GetResourceBitmap(&amp;quot;Diavoletto.gif&amp;quot;));&lt;/font&gt; &lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;break;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;} &lt;/p&gt;&lt;p&gt;return pictureDisp; &lt;/p&gt;&lt;p&gt;} &lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;font color="#ff8040"&gt;3. Modificare la funzione GetResourceBitmap&lt;/font&gt;&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;Modificate la funzione che restituisce l&amp;#39;immagine in modo che gestisca la tipologia di immagini.ico separatamente dalle altre: &lt;/p&gt;&lt;p&gt;public static System.Drawing.Bitmap GetResourceBitmap(string resourceName)&lt;br /&gt;{&lt;br /&gt;Assembly asm = Assembly.GetExecutingAssembly();&lt;br /&gt;string[] resources = asm.GetManifestResourceNames();&lt;br /&gt;System.Drawing.Bitmap image = null; &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;foreach (string resource in resources)&lt;br /&gt;{&lt;br /&gt;if (resource.EndsWith(resourceName))&lt;br /&gt;{&lt;br /&gt;System.IO.Stream stream =&lt;br /&gt;asm.GetManifestResourceStream(resource);&lt;br /&gt;if (stream == null)&lt;br /&gt;{&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;string extension =&lt;br /&gt;System.IO.Path.GetExtension(resourceName).ToLower();&lt;br /&gt;switch (extension)&lt;br /&gt;&lt;font color="#ff0000"&gt;{&lt;br /&gt;case &amp;quot;.ico&amp;quot;:&lt;br /&gt;image = new System.Drawing.Icon(stream).ToBitmap();&lt;br /&gt;break;&lt;br /&gt;default:&lt;br /&gt;image = new System.Drawing.Bitmap(stream);&lt;br /&gt;image.MakeTransparent();&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;&lt;/font&gt;stream.Close();&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return image;&lt;br /&gt;} &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;&lt;font color="#ff8040"&gt;4. Provare per credere&lt;/font&gt;&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;Lanciate l&amp;#39;applicazione e il risultato, con le mie immagini, &amp;egrave; il seguente: &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/368922123/" title="ImmaginiVarie01"&gt;&lt;img src="http://static.flickr.com/122/368922123_23a2e607c8.jpg" border="0" alt="ImmaginiVarie01" width="500" height="99" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Trovate l&amp;#39;applicazione&amp;nbsp;completa in allegato&amp;nbsp; &lt;/p&gt;&lt;p&gt;Chiedo ancora perdono&amp;nbsp;agli utenti di Visual Basic che rimando all&amp;#39;articolo in uscita alla fine del mese (&lt;img src="http://www.dotnetside.org/emoticons/emotion-10.gif" alt="Embarrassed" /&gt;). &lt;/p&gt;&lt;p&gt;Ciao a tutti &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=4275" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Ribbon" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon/default.aspx" /><category term="Office 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Office+2007/default.aspx" /><category term="VSTO 2005 SE" scheme="http://dotnetside.org/blogs/laura/archive/tags/VSTO+2005+SE/default.aspx" /><category term="Ribbon XML" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon+XML/default.aspx" /><category term="Add-Ins" scheme="http://dotnetside.org/blogs/laura/archive/tags/Add-Ins/default.aspx" /></entry><entry><title>Pacchetto di compatibilità per Office 2007</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/01/22/Pacchetto-di-compatibilit_E000_-per-Office-2007.aspx" /><id>/blogs/laura/archive/2007/01/22/Pacchetto-di-compatibilit_E000_-per-Office-2007.aspx</id><published>2007-01-22T22:53:00Z</published><updated>2007-01-22T22:53:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Avete installato Office 2003 e dovete aprire dei files salvati con la nuova versione? &lt;/p&gt;&lt;p&gt;Niente di pi&amp;ugrave; semplice: scaricate il &lt;strong&gt;Pacchetto di compatibilit&amp;agrave; per Office 2007&lt;/strong&gt; e siete a posto! &lt;/p&gt;&lt;p&gt;Fate &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=941B3470-3AE9-4AEE-8F43-C6BB74CD1466&amp;amp;displaylang=en"&gt;&lt;strong&gt;click qui per il download&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;oppure fate doppio click sul file salvato con la nuova versione: sar&amp;agrave; Office a comunicarvi che il file &amp;egrave; in versione 2007 e vi porter&amp;agrave; al sito per il download. &lt;/p&gt;&lt;p&gt;Ciao a tutti &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=4211" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Varie" scheme="http://dotnetside.org/blogs/laura/archive/tags/Varie/default.aspx" /><category term="Office 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Office+2007/default.aspx" /></entry><entry><title>.NET Ribbon!!!</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/01/20/.NET-Ribbon_210021002100_.aspx" /><id>/blogs/laura/archive/2007/01/20/.NET-Ribbon_210021002100_.aspx</id><published>2007-01-20T20:37:00Z</published><updated>2007-01-20T20:37:00Z</updated><content type="html">&lt;p&gt;Questa mattina, ancora in preda all&amp;#39;entusiasmo per la &lt;strong&gt;.NET Pizza&lt;/strong&gt;, ho giocato un p&amp;ograve; con il Ribbon e questo &amp;egrave; il risultato:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/363351340/" title="NetTorta"&gt;&lt;img src="http://static.flickr.com/168/363351340_7c852cd5ac.jpg" border="0" alt="NetTorta" width="500" height="97" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Ma &amp;egrave; inutile che premiate il bottone: &lt;strong&gt;&lt;font color="#ff8040"&gt;per avere un pezzo di .NET Torta dovrete venire alla prossima .NET Pizza con noi!!!!&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;PS La torta della foto l&amp;#39;ho fatta io!&lt;/p&gt;&lt;p&gt;Ciao&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=4185" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Varie" scheme="http://dotnetside.org/blogs/laura/archive/tags/Varie/default.aspx" /></entry><entry><title>.NET Pizza</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/01/20/.NET-Piazza.aspx" /><id>/blogs/laura/archive/2007/01/20/.NET-Piazza.aspx</id><published>2007-01-20T18:51:00Z</published><updated>2007-01-20T18:51:00Z</updated><content type="html">&lt;p&gt;Un evento veramente &amp;quot;istruttivo&amp;quot;: tra sigle di ogni genere, antipasti, pizze e dolci (offerti da Michele &lt;img src="http://www.dotnetside.org/emoticons/emotion-2.gif" alt="Big Smile" /&gt;, non dimentichiamolo), ho avuto modo di conoscere delle persone simpatiche e divertenti, al di fuori degli schemi.&lt;/p&gt;&lt;p&gt;Un grazie a &lt;strong&gt;Michele&lt;/strong&gt; per l&amp;#39;organizzazione, a &lt;strong&gt;Tiziana&lt;/strong&gt;&amp;nbsp;che mi ha &amp;quot;trascinata&amp;quot; nella community, e&amp;nbsp;a &lt;strong&gt;tutti gli altri&lt;/strong&gt;&amp;nbsp;che mi hanno fatto sentire parte di essa.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ciao&amp;nbsp;e....a presto &lt;img src="http://www.dotnetside.org/emoticons/emotion-33.gif" alt="Pizza" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=4177" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Varie" scheme="http://dotnetside.org/blogs/laura/archive/tags/Varie/default.aspx" /></entry><entry><title>Posizione delle schede nel Ribbon</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/01/19/Posizione-delle-schede-nel-Ribbon.aspx" /><id>/blogs/laura/archive/2007/01/19/Posizione-delle-schede-nel-Ribbon.aspx</id><published>2007-01-20T01:31:00Z</published><updated>2007-01-20T01:31:00Z</updated><content type="html">&lt;p&gt;Vi piacerebbe avere la vostra scheda personalizzata in prima posizione nel &lt;strong&gt;Ribbon &lt;/strong&gt;(lo so, non pensate ad altro, non mangiate, non ci dormite la notte....&lt;img src="http://www.dotnetside.org/emoticons/emotion-15.gif" alt="Geeked" /&gt;)&lt;/p&gt;&lt;p&gt;Ma adesso, la soluzione al vostro problema c&amp;#39;&amp;egrave;: inserite&amp;nbsp;l&amp;#39;attributo &lt;strong&gt;insertBeforeMso =&amp;quot;TabHome&amp;quot; &lt;/strong&gt;al tag &lt;strong&gt;Tab&lt;/strong&gt; nel file Ribbon.xml:&lt;/p&gt;&lt;p&gt;&amp;lt;tab id=&amp;quot;SchedaPersonalizzata&amp;quot; label=&amp;quot;Scheda Personalizzata&amp;quot; &lt;strong&gt;insertBeforeMso =&amp;quot;TabHome&amp;quot;&lt;/strong&gt;&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;et voil&amp;agrave;! &lt;em&gt;(&lt;/em&gt;&lt;/strong&gt;&lt;span&gt;&lt;font size="3"&gt;&lt;em&gt;En fran&amp;ccedil;ais, s&amp;rsquo;il vous plait!)&lt;/em&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;La vostra &amp;quot;&lt;strong&gt;Scheda Personalizzata&lt;/strong&gt;&amp;quot; si trova al primo posto!!!!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/362652136/" title="PosizioneSchede"&gt;&lt;img src="http://static.flickr.com/151/362652136_440a9fd36d.jpg" border="0" alt="PosizioneSchede" width="500" height="379" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Alla prossima&lt;/p&gt;&lt;p&gt;Ciao a tutti &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=4169" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Ribbon" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon/default.aspx" /><category term="Office 2007" scheme="http://dotnetside.org/blogs/laura/archive/tags/Office+2007/default.aspx" /><category term="VSTO 2005 SE" scheme="http://dotnetside.org/blogs/laura/archive/tags/VSTO+2005+SE/default.aspx" /><category term="Ribbon XML" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon+XML/default.aspx" /><category term="Add-Ins" scheme="http://dotnetside.org/blogs/laura/archive/tags/Add-Ins/default.aspx" /></entry><entry><title>XML Notepad 2007</title><link rel="alternate" type="text/html" href="/blogs/laura/archive/2007/01/14/XML-Notepad-2007.aspx" /><id>/blogs/laura/archive/2007/01/14/XML-Notepad-2007.aspx</id><published>2007-01-14T20:26:00Z</published><updated>2007-01-14T20:26:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Vi segnalo un interessante &lt;strong&gt;editor per file xml&lt;/strong&gt; all&amp;#39;indirizzo: &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=72D6AA49-787D-4118-BA5F-4F30FE913628&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=72D6AA49-787D-4118-BA5F-4F30FE913628&amp;amp;displaylang=en&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Se preferite visualizzare la struttura del file sottoforma di albero cui&amp;nbsp; aggiungere o eliminare voci, rinominare, ecc; pu&amp;ograve; essere utile. &lt;/p&gt;&lt;p&gt;Dopo averlo installato, &amp;egrave; possibile fare &lt;strong&gt;click destro&lt;/strong&gt; su un file xml e utilizzare il nuovo editor: &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/356816746/" title="CustomIcon01"&gt;&lt;img src="http://static.flickr.com/161/356816746_af0019c4e5.jpg" border="0" alt="CustomIcon01" width="268" height="287" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Questo &amp;egrave; quello che vi si presenta: &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/356817021/" title="CustomIcon02"&gt;&lt;img src="http://static.flickr.com/125/356817021_4464edcdc0.jpg" border="0" alt="CustomIcon02" width="500" height="256" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;E&amp;#39; possibile aggiungere elementi e assegnarne i valori; visualizzare il risultato in modalit&amp;agrave; standard (XLS output), ecc. &lt;/p&gt;&lt;p&gt;Ad esempio, io ho aggiunto gli elementi e i valori relativi ad un &lt;strong&gt;nuovo comando&lt;/strong&gt; per il ribbon: &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/356817082/" title="CustomIcon03"&gt;&lt;img src="http://static.flickr.com/153/356817082_7781ec7c61.jpg" border="0" alt="CustomIcon03" width="500" height="335" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;e, dopo aver salvato, aprendo Excel, il ribbon risulta cos&amp;igrave; modificato: &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/356817117/" title="CustomIcon04"&gt;&lt;img src="http://static.flickr.com/158/356817117_3d2ac099ef.jpg" border="0" alt="CustomIcon04" width="175" height="141" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Un&amp;#39;altra funzionalit&amp;agrave; che pu&amp;ograve; essere interessante (e che gli utenti di Word conoscono bene) &amp;egrave; la possibilit&amp;agrave; di &lt;strong&gt;confrontare due file xml&lt;/strong&gt; per visualizzarne le differenze, evidenziate con colori diversi descritti in una legneda: &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/356817355/" title="CustomIcon05"&gt;&lt;img src="http://static.flickr.com/133/356817355_96fd13578e.jpg" border="0" alt="CustomIcon05" width="500" height="303" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/47133538@N00/356817410/" title="CustomIcon06"&gt;&lt;img src="http://static.flickr.com/132/356817410_4ecdc94ac1.jpg" border="0" alt="CustomIcon06" width="500" height="318" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Ciao a tutti &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Laura&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=4129" width="1" height="1"&gt;</content><author><name>laura</name><uri>http://dotnetside.org/members/laura/default.aspx</uri></author><category term="Ribbon" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon/default.aspx" /><category term="Excel" scheme="http://dotnetside.org/blogs/laura/archive/tags/Excel/default.aspx" /><category term="VSTO 2005 SE" scheme="http://dotnetside.org/blogs/laura/archive/tags/VSTO+2005+SE/default.aspx" /><category term="Ribbon XML" scheme="http://dotnetside.org/blogs/laura/archive/tags/Ribbon+XML/default.aspx" /><category term="Add-Ins" scheme="http://dotnetside.org/blogs/laura/archive/tags/Add-Ins/default.aspx" /></entry></feed>