Tag: outlook addin

以编程方式为Outlook 2010创建自定义通讯簿

我想创建一个自定义联系人列表 ( 或称为通讯录 ),以便在Outlook中用户将查看“建议的联系人”,“联系人”等,然后是“自定义联系人”。 我走了,试了以下。 int count = this.Application.GetNamespace(“MAPI”).AddressLists.Count; 这给了我8的值。所以,当然,我试图在地址列表对象中Add一些东西,但猜猜是什么 – 没有这样的方法。 这并不奇怪,因为API明确指出它是只读对象。 但是,我需要为我的客户设置一个地址簿/列表( 无论它叫什么 )。 如何向Outlook添加新的通讯簿 ?

如何访问ThisAddIn类之外的VSTO Outlook加载项中的Application属性?

使用新的Outlook VSTO C#项目创建的ThisAddIn类具有一个Application属性,您可以使用该属性来访问Outlook文件夹和项目。 问题是当你在ThisAddIn类中时可以轻松使用它,但是从项目中的其他类中无法轻松访问它。 这是因为它是一个实例属性。 我想找到访问此属性在我的其他类中提供的相同function的最佳方式,因此我提出了两种可能的解决方案,但我不知道哪一种(如果有的话)是好的。 让我们假设我想要获取默认的收件箱文件夹。 在ThisAddIn类里面我会做这样的事情: this.Application.Session.GetDefaultFolder(Outlook.olFolderInbox); 现在如何在这堂课外做同样的事情? 1.静态属性 首先,我可以向ThisAddIn类添加一个静态属性,并将其设置为我想在其他类中公开的值。 public partial class ThisAddIn { public Outlook.Application OutlookApp; void ThisAddIn_Startup(object sender, EventArgs e) { // init static variable value here OutlookApp = this.Application // initialize the rest of addin here } void InternalStartup() { this.Startup += this.ThisAddIn_Startup; } } 这样在我的任何其他类中我都可以这样做: ThisAddIn.OutlookApp.Session.GetDefaultFolder(Outlook.olFolderInbox); 2.创建新的Application对象 我可以做的第二件事是在我使用它之前在我的其他类中初始化Application对象。 […]

ThisAddIn_ShutDown不会执行

在我的Outlook加载项中,我有以下几行。 private void ThisAddIn_Startup(object sender, System.EventArgs e) { MessageBox.Show(“Hazaa!”); } private void ThisAddIn_Shutdown(object sender, System.EventArgs e) { MessageBox.Show(“Shazoo…”); } 虽然Outlook用一个很酷的“Hazaa”来迎接我! 一开始,当我’关闭它时,它拒绝对我说“Sahzoo ……”。 这两种方法都使用默认的自动生成代码以相同的方式注册,因此我不怀疑那里有任何错误。 我能想到的另一个解释是,当应用程序已经离开GUI并且隐藏了shazooing时,将执行关闭过程。 是这样吗? 如果没有,我怎么能让Outlook shazoo我? 如果是这样,我怎样才能直观地通知用户这样的shazoo? 编辑: 显然,由于O10,关闭不再被调用,因此下面的自动生成代码确实是错误的(或者至少不完美)。 由@ Christian.K提供。 #region VSTO generated code private void InternalStartup() { this.Startup += new System.EventHandler(ThisAddIn_Startup); this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown); } #endregion

ItemSend事件未触发

我有一个Outlook 2007加载项(VSTO)。 使用Outlook发送的任何邮件都应在此之前进行修改。 我使用Application.ItemSend事件,如果我直接从Outlook( Inspector )或通过使用MailItem的Send方法的自定义C#应用程序发送电子邮件,它可以正常工作。 但是,有一些外部应用程序使用Outlook发送邮件 – 这根本不会触发ItemSend事件。 邮件直接移动到发件箱( 我甚至可以捕获该文件夹上的ItemAdd事件 ),然后发送。 另一个有趣的问题是,如果我定义了一个延迟传递规则 ,如果我使用Inspector或我的c#代码发送邮件,它就可以正常工作,但是当这个应用程序执行时它不会。 我的问题是何时以及如何创建传递ItemSend事件的消息?

VSTO – 是否可以同时拥有设计器和XML色带?

我正在使用Outlook 2010加载项,该加载项具有使用Visual Studio 2010function区设计器创建的多个function区。 我已经制作了一个额外的XMLfunction区(我需要覆盖一些内置function区按钮的默认行为,这是设计人员无法完成的)。 启用XMLfunction区会禁用所有设计器function区,因为我必须覆盖CreateRibbonExtensibilityObject(ContactButtonOverrides是我的XMLfunction区): protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject() { return new ContactButtonOverrides(); } 我正在覆盖的基类实现“ 返回一个RibbonManager对象,该对象代表项目中的所有Ribbon(可视设计器)项 ”。 有没有办法同时使用设计师制作的XML色带和色带? 有没有办法将我的XMLfunction区添加到默认的RibbonManager?

获取Outlook 2007中当前用户的电子邮件地址

我有一个用C#编写的Outlook添加。 我想知道如何获得当前用户的电子邮件地址? 谢谢

Outlook加载项教程?

有谁知道使用C#开始使用Outlook加载项的一个很好的例子?

outlook 2010加载项构建自定义WebViewPane,没有加载项Express

是否有可能在outlook中创建一个可以放在应用程序中间的自定义控件? 我的意思是这样的事: 我知道可以使用带有Add-in Express的WebViewPane来完成它但是可以在不购买此产品的情况下实现它吗? 也许有人看过一些关于写这样的sommething的文章?

VSTO Outlook嵌入图像MailItem

我需要在用户签名之后将图像作为电子邮件的一部分嵌入,而不是在电子邮件的末尾,因为如果我发送大型电子邮件的回复,嵌入式图像将位于底部电子邮件链 如何将图像作为电子邮件内容的一部分嵌入 (不是指向外部图像的链接)? 如何在用户签名后添加此图像? 我正在使用VSTO,VS2008 Fwk3.5和Outlook 2007 这是我的代码: public partial class ThisAddIn { private void ThisAddIn_Startup(object sender, System.EventArgs e) { this.Application.ItemSend += new Microsoft.Office.Interop.Outlook.ApplicationEvents_11_ItemSendEventHandler(Application_ItemSend); } private void Application_ItemSend(object Item, ref bool Cancel) { if (Item is Outlook.MailItem) { Outlook.MailItem mailMessage = (Outlook.MailItem)Item; //do something to add the image after the signature } }