Introduzione
In quest’articolo, vedremo come creare un pulsante per la barra degli strumenti di Microsoft Outlook 2010, tramite la tecnologia VSTO con il linguaggio Visual Basic Net e C#
Creazione del progetto
Si apra Visual Studio 2010, e dopo aver scelto il linguaggio di nostro interesse, selezioniamo la voce Office 2010, nella parte destra, selezioniamo la voce “Componente aggiuntivo per Outlook 2010” il tutto come mostrato in figura 1
Figura 1
Dopo aver confermato il tutto tramite il pulsante ok, verrà aperta la finestra in visualizzazione codice, a differenza degli altri modelli, per word, excel, per Outlook non abbiamo una parte designer, ma solo codice.
A livello di form, si crea un oggetto di tipo commandBar, che avrà il compito di aggiungere alla barra di outlook un pulsante. Sempre a livello di form, si crea un oggetto di tipo pulsante, il quale verrà applicato alla barra.
Di conseguenza avremmo due oggetti, uno per la gestione della barra e l’altro per la gestione del pulsante.
Qui di seguito si riporta la dichiarazione di tale operazione.
VB.Net
Dim ComBar As Microsoft.Office.Core.CommandBar
Dim pulsante As Microsoft.Office.Core.CommandBarButton
C#
Microsoft.Office.Core.CommandBar ComBar;
Microsoft.Office.Core.CommandBarButton pulsante;
Si crea una funzione che permetta la creazione della barra per Outlook, inizializzando l’oggetto CommandBar, creato in precedenza. Qui di seguito si riporta il frammento di codice.
VB.Net
' funzione per la creazione della barra
Private Sub CreaBarra()
ComBar = Globals.ThisAddIn.Application.ActiveExplorer().CommandBars.Add(
"Barranuova",
Office.MsoBarPosition.msoBarTop,
False,
True)
ComBar.Protection = Office.MsoBarProtection.msoBarNoCustomize
ComBar.Visible = True
End Sub
C#
//funzione per la creazione della barra
private void CreaBarra()
{
ComBar = Globals.ThisAddIn.Application.ActiveExplorer().CommandBars.Add(
"Barranuova",
Office.MsoBarPosition.msoBarTop,
false,
true);
ComBar.Protection = Office.MsoBarProtection.msoBarNoCustomize;
ComBar.Visible = true;
}
Ora dobbiamo creare una funzione per la creazione del pulsante, inizializzando l’oggetto pulsante creato in precedenza.
Si crea anche un gestore di evento click per tale pulsante.
VB.Net
'funzione per la creazione del pulsante
Private Sub CreaPulsante()
'Aggiungo il pulsante alla barra ed imposto la proprietà testo oltre al gestore di evento click
pulsante = CType(ComBar.Controls.Add(Office.MsoControlType.msoControlButton, Type.Missing, Type.Missing, Type.Missing, True), Office.CommandBarButton)
pulsante.Caption = "Pulsante nuovo"
pulsante.Style = Office.MsoButtonStyle.msoButtonIconAndCaption
pulsante.TooltipText = "Testo descrittivo"
'gestore dell'evento click
AddHandler pulsante.Click, AddressOf pulsante_Click
End Sub
Sub pulsante_Click(ByVal Ctrl As Office.CommandBarButton, ByRef CancelDefault As Boolean)
System.Windows.Forms.MessageBox.Show("Prova2")
End Sub
C#
//funzione per la creazione del pulsante
private void CreaPulsante()
{
//aggiungo il pulsante alla barra ed imposto la proprietà testo oltre al gestore di evento click
pulsante = ComBar.Controls.Add(Office.MsoControlType.msoControlButton, Type.Missing, Type.Missing, Type.Missing, true) as Office.CommandBarButton ;
pulsante.Caption = "Pulsante nuovo";
pulsante.Style = Office.MsoButtonStyle.msoButtonIconAndCaption;
pulsante.TooltipText = "Testo descrittivo";
//gestore dell'evento click
pulsante.Click += new Office._CommandBarButtonEvents_ClickEventHandler(pulsante_Click);
}
void pulsante_Click(Office.CommandBarButton Ctrl, ref bool CancelDefault)
{
System.Windows.Forms.MessageBox.Show("Prova");
}
Le funzioni appena create, devono essere richiamata nell’evento del caricamento della nostra applicazione Outlook e precisamente nell'evento StartUp.
VB.Net
Private Sub ThisAddIn_Startup() Handles Me.Startup
CreaBarra()
CreaPulsante()
End Sub
C#
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
CreaBarra();
CreaPulsante();
}
Ora non resta che eseguire la nostra applicazione per vedere il risultato, il tutto come mostrato in figura 2
Figura 2
Conclusioni
L’articolo ha voluto fornire le basi per la creazione di un semplice pulsante per la barra di Microsoft Outlook 2010, fornendo al lettore le basi per iniziare a programmare in ambiente Office 2010, tramite Visual Studio Tools For Office (VSTO 4).