0
我的是一個奇怪的解決方案。 我想掃描一個特定的字符串(這些特定的字符串已經在一個XML數據文件中)來實現這一點,我想通過以下步驟去做這件事 我將有一個menubaritem來更改添加設置-in(現在沒有必要) 我會在這樣VSTO展望掃描打開項目
http://www.packtpub.com/article/microsoft-office-outlook-programming-vsto-c-sharp-part1
酒吧像新的按鈕一個按鈕,然後說,用戶閱讀所選並在打開的項目閱讀窗格。當我按下按鈕時,我希望代碼掃描主題和正文以匹配我的xml數據,如果存在,則顯示一個消息框。
我儘可能創建一個menuitem和菜單欄按鈕和xml數據,現在我的問題是如何掃描當前正在讀取的項目?
這是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
}
}
我的C#代碼,這是我的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>
感謝您的幫助。