CustomTaskPanes和从Outlook外部调用NewMailMessage
我有一个功能区按钮,显示在Outlook的撰写电子邮件表单中的tabNewMailMessage上,此按钮切换粘贴到表单一侧的CustomTaskPane的可见性。
在通常的练习中,一切都很完美。但是,当通过“附加到电子邮件”或“保存和放大”调用撰写电子邮件表单时从MS Word或Adobe Reader等其他应用程序发送'按钮出现但不再执行任何操作。
我从MSDN中了解到,在外部调用的情况下,NewInspector事件显然不会触发。
我无法找到这种情况的任何变通方法,这里有人知道吗? :(
编辑:另外,我有一个Global类(不是Visual Studio创建的隐藏的GlobalS类),它包含我在整个程序中使用的一些变量。 Addin也不会加载其中包含的任何东西。如果有人有更多的信息,很难说出实际上会加载什么,请大声欢呼!
再次编辑:测试将字符串放入ThisAddIn并通过toggleButton中的messageBox打印它不起作用。如果有人感到困惑,如果无法执行click事件,则不会加载功能区按钮,因此外部调用的Compose表单似乎会跳过ThisAddIn中的所有代码以及任何不是功能区本身的类。
我真的需要帮助解决这个问题! :(
再次编辑:这是我到目前为止所获得的,ThisAddIn启动事件不会触发,外部类中的属性可能无法读取,但是像ThisAddIn.SayHelloWorld()这样的外部方法可以正常工作。
再次编辑! :
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
//MessageBox.Show(,"TEST");
try
{
inspectors = Globals.ThisAddIn.Application.Inspectors;
inspectors.NewInspector += new InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
foreach (Inspector insp in inspectors)
{
//insp.
Inspectors_NewInspector(insp);
}
}
catch (System.Exception ex)
{
List<string> lalala = new List<string>();
lalala.Add(ex.GetType().ToString());
lalala.Add(ex.Message);
lalala.Add(ex.StackTrace);
File.WriteAllLines(@"C:outdebug",lalala.ToArray());
}
}
再次! :
void Inspectors_NewInspector(Inspector Inspect)
{
try
{
if (Inspect.CurrentItem is MailItem)
{
Global.mail = Inspect.CurrentItem;
Global.inspectorWrappersValue.Add(Inspect, new InspectorWrapper(Inspect, Global.mail));
//inspectorw
}
}
catch (System.Exception ex)
{
List<string> lalala = new List<string>();
lalala.Add(ex.GetType().ToString());
lalala.Add(ex.Message);
lalala.Add(ex.StackTrace);
lalala.Add(Global.SiteConnectionManager.ToString());
File.WriteAllText(@"C:UserscatDesktopoutdebug.txt", string.Join("n", lalala), Encoding.UTF8);
}
}
没有找到相关结果
已邀请:
1 个回复
樊熄忙暖