- //cet événement se produit lors du chargement de l'Addin, à l'ouverture d'Outlook par exemple
- private void ThisApplication_Startup(object sender, System.EventArgs e)
- {
- //définition de l'oject missing, correspond aux valeures que l'ont ne souhaite pas spécifier
- object missing = System.Reflection.Missing.Value;
-
- //récupération de l'explorer Outlook courant et ajout d'une barre de commandes, a la position "haut"
- //le derniers attribut empeche la barre de persister et donc d'en avoir une nouvelle instance a chaque chargement de l'Addin
- Office.CommandBar comm = this.ActiveExplorer().CommandBars.Add("MyCommandBar", Office.MsoBarPosition.msoBarTop, missing, true);
- //ajout d'un bouton a la barre
- Office.CommandBarButton button = (Office.CommandBarButton)comm.Controls.Add(Office.MsoControlType.msoControlButton, missing, missing, missing, missing);
-
- //définition du style de bouton: contenant du texte
- button.Style = Office.MsoButtonStyle.msoButtonCaption;
- //définition du texte
- button.Caption = "Click me";
- //définition de l'évenement a déclencher lors du click sur le button
- button.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(button_Click);
-
-
- //affichage de la barre, attention a "false" par défault
- comm.Visible = true;
- }
-
-
-
- private List<Contact> contacts;
-
- public Form1()
- {
- InitializeComponent();
-
- //récupération de la liste de contacts, "Globals" permet d'accéder aux données Outlook depuis n'importe quelle classe de l'application
- Outlook.MAPIFolder folders = Globals.ThisApplication.ActiveExplorer().Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts);
-
- //création d'une liste de classes Contact
- contacts = new List<Contact>();
-
- //récupération de chaque contact, et ajout de ses informations dans la liste de classes
- foreach (Outlook.ContactItem item in folders.Items)
- {
- contacts.Add(new Contact(item.FirstName, item.LastName, item.Email1Address));
- }
-
- //affichage des contacts
- dataGridView1.DataSource = contacts;
- }
-
- private void button1_Click(object sender, EventArgs e)
- {
- //pour chaque contact
- foreach (Contact conn in contacts)
- {
- //si le contact est selectionné
- if (conn.IsChecked == true)
- {
- //création d'un Email
- Outlook.MailItem Email = (Outlook.MailItem)Globals.ThisApplication.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
-
- //définition du déstinataire,du texte
- Email.To = conn.Email;
- Email.Body = textBox1.Text;
-
- //Demande de ne pas afficher la fénétre d'Email et envoie de l'Email
- Email.Display(false);
- Email.Send();
- }
- }
- }
//cet événement se produit lors du chargement de l'Addin, à l'ouverture d'Outlook par exemple
private void ThisApplication_Startup(object sender, System.EventArgs e)
{
//définition de l'oject missing, correspond aux valeures que l'ont ne souhaite pas spécifier
object missing = System.Reflection.Missing.Value;
//récupération de l'explorer Outlook courant et ajout d'une barre de commandes, a la position "haut"
//le derniers attribut empeche la barre de persister et donc d'en avoir une nouvelle instance a chaque chargement de l'Addin
Office.CommandBar comm = this.ActiveExplorer().CommandBars.Add("MyCommandBar", Office.MsoBarPosition.msoBarTop, missing, true);
//ajout d'un bouton a la barre
Office.CommandBarButton button = (Office.CommandBarButton)comm.Controls.Add(Office.MsoControlType.msoControlButton, missing, missing, missing, missing);
//définition du style de bouton: contenant du texte
button.Style = Office.MsoButtonStyle.msoButtonCaption;
//définition du texte
button.Caption = "Click me";
//définition de l'évenement a déclencher lors du click sur le button
button.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(button_Click);
//affichage de la barre, attention a "false" par défault
comm.Visible = true;
}
private List<Contact> contacts;
public Form1()
{
InitializeComponent();
//récupération de la liste de contacts, "Globals" permet d'accéder aux données Outlook depuis n'importe quelle classe de l'application
Outlook.MAPIFolder folders = Globals.ThisApplication.ActiveExplorer().Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts);
//création d'une liste de classes Contact
contacts = new List<Contact>();
//récupération de chaque contact, et ajout de ses informations dans la liste de classes
foreach (Outlook.ContactItem item in folders.Items)
{
contacts.Add(new Contact(item.FirstName, item.LastName, item.Email1Address));
}
//affichage des contacts
dataGridView1.DataSource = contacts;
}
private void button1_Click(object sender, EventArgs e)
{
//pour chaque contact
foreach (Contact conn in contacts)
{
//si le contact est selectionné
if (conn.IsChecked == true)
{
//création d'un Email
Outlook.MailItem Email = (Outlook.MailItem)Globals.ThisApplication.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
//définition du déstinataire,du texte
Email.To = conn.Email;
Email.Body = textBox1.Text;
//Demande de ne pas afficher la fénétre d'Email et envoie de l'Email
Email.Display(false);
Email.Send();
}
}
}