问题标签 [outlook-addin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
64 浏览

outlook - Outlook AddIn - 如何在删除文件夹时收到通知?

FolderRemoveEventHandler 不是全局的,它只能用于通知何时从特定文件夹集合的顶层删除文件夹。当任何文件夹被删除/删除时,我需要一个事件来触发 - 这样的事情是否存在?

0 投票
1 回答
13673 浏览

c# - Outlook MailItem 保存/另存为

我有一个 Outlook 插件,允许用户将电子邮件保存到数据库中。当用户保存电子邮件时,我会修改电子邮件主题,以便将其识别为已保存。

保存电子邮件可以通过两种方式进行。通过工具栏上的一个按钮,用户可以保存他们想要的任何电子邮件,还可以通过在将新电子邮件放入“已发送邮件”文件夹时出现的提示。两种方法都使用相同的表单来保存电子邮件!

好的,现在问题....

在保存电子邮件的过程中,我使用mailItem.SaveAs将其放入文件存储的方法。成功完成后,我想更改 Outlook 中仍然存在的电子邮件主题,以说明它已成功保存。我通过更改myItem.Subject然后使用该mailItem.Save方法保存更改来做到这一点。

当未通过提示方法保存电子邮件时,上述方法非常有效。因此,当用户在发送电子邮件后尝试保存电子邮件时,该mailItem.Save方法不起作用。

myItem.Save()如果我将行放在行之前,我已将其缩小到实际工作myItem.SaveAs(),但显然如果我这样做,我不能保证电子邮件实际上已正确保存。

那么有没有人知道mailItem.Save该方法在调用该方法后不工作的原因mailItem.SaveAs

提前感谢您对可能出现的问题提出任何建议。

编辑:代码


和 markAsProfiled 函数...


0 投票
1 回答
1246 浏览

.net - VSTO、Outlook.exe.config 和

我为 Outlook 2007 创建了一个 VSTO 2.0 SE 插件。通常,它在最终用户的计算机上安装没有问题,但有时他们在 Outlook.exe 旁边有一个 Outlook.exe.config 文件,它指定只有 .NET允许加载 1.0 或 1.1。例如:

在我的测试环境中,如果我将 2.0 运行时添加到此列表中,则会加载我的加载项。IE:

在安装过程中自动添加最后一行有什么问题吗?如果碰巧有另一个使用 1.1 运行时的加载项,这两个加载项是否能够并行运行?谢谢!

0 投票
1 回答
930 浏览

exchange-server - Outlook 项目到 webDAV 位置

我有一个带有日历的 Web 应用程序,并且我想允许该日历与 Exchange 服务器同步。

我编写了代码以使用 webDAV 在用户日历中直接在 Exchange 服务器上创建约会。我保存约会地点 (URL),以便在我的应用程序发生变化时更新 Outlook 中的约会。

我正在尝试为 Outlook 编写一个加载项,让用户将他们的约会发送到我的 Web 应用程序。不过,为了保存它(并允许我的应用程序中的更新传播回 Exchange),我需要弄清楚 WebDAV 中的约会位置 (URL) 是什么。

有没有办法从 Outlook 中获取约会的 WebDAV URL?我正在为我的 Outlook 加载项使用 VSTO。

0 投票
2 回答
2267 浏览

outlook - 是否可以以编程方式重命名 Outlook 类别?

我们正在开发 Outlook 2007 插件。为了测试 Outlook 类别重命名,我添加了以下代码块

到加载项private void ThisAddIn_Startup(object sender, EventArgs e)方法的末尾。类别已重命名,但如果 Outlook 已关闭,则注释上述行,并重新启动 Outlook - 类别名称不是“TEST!!!” 正如我所料。它是重命名前的“Group1”。是否可以通过代码将 Outlook 类别“永远”重命名?Microsoft.Office.Interop.Outlook.Category 没有 Save() 或 Update() 或 Persist() 方法。

PS 我们正在使用 Visual Studio 2008、.net 3.5、C# 3 开发 Outlook 2007 插件。该问题在 Outlook 2007 SP1 和 SP2 中重现。其他 Outlook 版本未经过测试。

0 投票
1 回答
759 浏览

.net - VSTO 加载项中的 InvalidCastException

我正在开发的 VSTO Outlook 加载项遇到了一些奇怪的问题。它在一堆机器上工作正常,但在一个机器上它抛出一个 InvalidCastException 并且找不到原因。我已经检查过这台机器上是否安装了所有先决条件(安装程序自己安装,但我也手动检查过),一切似乎都与其他机器上的完全一样。

抛出异常的代码是:

例外是:

无法将类型为“Microsoft.Office.Interop.Outlook.ApplicationClass”的 COM 对象转换为接口类型“Microsoft.Office.Interop.Outlook._Application”。此操作失败,因为 IID 为“{00063001-0000-0000-C000-000000000046}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:库未注册。(来自 HRESULT 的异常:0x8002801D (TYPE_E_LIBNOTREGISTERED))。

有谁知道可能是什么问题?

0 投票
2 回答
10315 浏览

c# - Storing Outlook emails in a Microsoft SQL Server database

I am using c# to write an Outlook 2007 add-in to store emails in a SQL Server 2005 database. I would like to be able to store the entire .msg file in a varbinary(MAX) field. Is there a way to do this without having to use the Outlook MailItem's SaveAs() method to save to a temp file and then read the file back in? I will need to transfer a large number of emails to the database and would prefer to avoid costly disk reads and writes.

0 投票
2 回答
12721 浏览

c# - 如何在 ThisAddIn 类之外访问 VSTO Outlook 加载项中的应用程序属性?

使用新 Outlook VSTO C# 项目创建的这个AddIn 类具有一个Application属性,您可以使用该属性来访问 Outlook 文件夹和项目。问题是当您在 ThisAddIn 类中时可以轻松使用它,但从项目中的其他类无法轻松访问它。这是因为它是一个实例属性。

我想找到访问此属性在我的其他类中提供的相同功能的最佳方法,因此我提出了两种可能的解决方案,但我不知道其中哪一个(如果有的话)是好的。

假设我想获取默认收件箱文件夹。在 ThisAddIn 类中,我只需执行以下操作:

现在如何在这个类之外做同样的事情?

1.静态属性

首先,我可以向类添加一个静态属性ThisAddIn并将其设置为我想在其他类中公开的值。

这样,在我的任何其他课程中,我都可以执行以下操作:

2. 创建新的应用程序对象

我可以做的第二件事是在我使用它之前在我的其他类中初始化 Application 对象。但我不确定创建该类型的新对象是否不会创建 Outlook 的新实例。

有没有人有任何建议哪种方法更好,如果你对这个问题有不同的解决方案,我也会很高兴。

0 投票
1 回答
2136 浏览

c# - 无法安装 Outlook 2007 插件?

我将在这里解释我所做的事情,如果有人帮助我,我将非常感激。我看到有一些关于这个问题的帖子,但我想知道我是否犯了一些错误。

我使用 VS2008 和 C# 为 Outlook 2007 (.NET Framework 3.5) 开发了插件。完成后,在解决方案资源管理器中,右键单击“解决方案(我的项目)”并单击添加新项目->其他项目类型->设置和部署->设置项目。

在这个新项目中,我有带有 3 个文件夹的选项卡文件系统:

  • 应用程序文件夹
  • 用户桌面
  • 用户程序菜单

我单击右键单击应用程序文件夹->添加->项目输出--->主输出(我的项目)

毕竟,在添加的安装项目的 Debug 文件夹中有 setup.exe 和 MyProject.msi 文件,但是当我在其他计算机上安装它时,Microsoft Outlook 中没有安装插件:(

我做错了什么??

0 投票
1 回答
4524 浏览

outlook - 使用 VSTO 在 Outlook 插件中获取邮箱名称

我正在使用 VSTO 处理 Outlook 2003 AddIn。有没有办法获取用户的邮箱名称NTUserName