VSTO outlook сканиране отвори елемент

Моето е малко странно решение. Искам да сканирам за конкретен низ от думи (тези конкретен низ от думи вече са в XML файл с данни), за да постигна това Мислех да премина през следните стъпки. Ще имам елемент от менюто за промяна на настройките на добавката (не е необходимо сега) Ще имам бутон като новия бутон в лентата като този

http://www.packtpub.com/sites/default/files/Article-Images/vsto-article1-image5.  png

http://www.packtpub.com/article/microsoft-office-outlook-programming-vsto-c-sharp-part1

след това кажете, че потребителят чете елемент, който е избран и отворен в прозореца за четене. когато бутонът ми е натиснат, искам кодът да сканира темата и тялото да съответства на моите xml данни, ако съществува, тогава да се покаже поле за съобщение.

Направих, що се отнася до създаването на елемент от менюто и бутон на лентата с менюта и xml данните, сега въпросът ми е как да сканирам елемента, който се чете в момента?

Това е моят C# код в thisaddin.cs

  using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Outlook = Microsoft.Office.Interop.Outlook;
using Office = Microsoft.Office.Core;
using System.Windows.Forms;

namespace Sql_openertake1
{
    public partial class ThisAddIn
    {
        private Office.CommandBar menuBar;
        private Office.CommandBarPopup newMenuBar;
        private Office.CommandBarButton buttonOne;
        Office.CommandBarButton PacktButtonA;
        Office.CommandBar PacktCustomToolBar;

        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {

         // Verify the PacktCustomToolBar exist and add to the application
if (PacktCustomToolBar == null)
{
// Adding the commandbar to Active explorer
Office.CommandBars PacktBars = this.Application.
ActiveExplorer().CommandBars;
// Adding PacktCustomToolBar to the commandbars
PacktCustomToolBar = PacktBars.Add("SQL Opener",Office.MsoBarPosition.msoBarTop, false, true);
}
// Adding button to the custom tool bar
Office.CommandBarButton MyButton1 = (Office.
CommandBarButton)PacktCustomToolBar.Controls.Add(1,
missing, missing, missing, missing);
// Set the button style
MyButton1.Style = Office.MsoButtonStyle.msoButtonCaption;
// Set the caption and tag string
MyButton1.Caption = "Open";
MyButton1.Tag = "MY BUTTON";
if (this.PacktButtonA == null)
{
// Adding the event handler for the button in the toolbar
this.PacktButtonA = MyButton1;
PacktButtonA.Click += new Office.
_CommandBarButtonEvents_ClickEventHandler(ButtonClick);
}
}
// Button event in the custom toolbar
private void ButtonClick(Office.CommandBarButton ButtonContrl,
ref bool CancelOption)
{
// Message box displayed on button click
MessageBox.Show(ButtonContrl.Caption + " Says Hello World!");
}

        private void AddMenuBar()
        {
            try
            {
                menuBar = this.Application.ActiveExplorer().CommandBars.ActiveMenuBar;
                newMenuBar = (Office.CommandBarPopup)menuBar.Controls.Add(
                    Office.MsoControlType.msoControlPopup, missing,
                    missing, missing, true);
                if (newMenuBar != null)
                {
                    newMenuBar.Caption = "SQL Opener";
                    buttonOne = (Office.CommandBarButton)newMenuBar.Controls.
                    Add(Office.MsoControlType.msoControlButton, missing,
                        missing, 1, true);
                    buttonOne.Style = Office.MsoButtonStyle.
                        msoButtonIconAndCaption;
                    buttonOne.Caption = "Settings";
                    buttonOne.FaceId = 0548;
                    buttonOne.Tag = "c123";
                    buttonOne.Click += new Office._CommandBarButtonEvents_ClickEventHandler(buttonOne_Click);
                    newMenuBar.Visible = true;
                }
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }
        }

        private void buttonOne_Click(Office.CommandBarButton ctrl,
            ref bool cancel)
        {
            System.Windows.Forms.MessageBox.Show("You clicked: " + ctrl.Caption,
                "Custom Menu", System.Windows.Forms.MessageBoxButtons.OK);

        }


        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        private void createnewform()
        {
            SAmple_form sform = new SAmple_form();
            sform.Text = "Show the Count";


        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }

        #endregion
    }
}

това са моите xml данни

<?xml version="1.0" encoding="utf-8" ?>
<words>
    <word id="5001">None</word>
    <word id="5002">Glazed</word>
    <word id="5005">Sugar</word>
    <word id="5006">Sprinkles</word>
    <word id="5003">Chocolate</word>
    <word id="5004">Maple</word>

</words>

Благодаря за помощта.


person JackyBoi    schedule 02.04.2012    source източник


Отговори (1)