问题标签 [outlook]

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 投票
5 回答
11582 浏览

csv - PST 到 CSV 文件转换

有谁知道通过命令行将 .pst 转换为 .csv 文件的好工具?

0 投票
2 回答
296 浏览

com - 我如何可靠地判断两个 Inspector 引用指向同一个 Inspector 实例?

[继续从有没有办法判断两个 COM 接口引用是否指向同一个实例?]

我有Inspector来自两个不同来源的对象的引用,并且需要能够区分来自一个来源的哪个项目对应于来自另一个来源的哪个项目。但是,到目前为止,我想出的方法都没有(可靠):

  • 我不能简单地比较IUnknown接口,因为该Inspectors.Item()方法似乎返回了对动态创建的代理对象的引用,而不是检查器实例本身。试试看:两次访问同一个索引将返回两个截然不同的指针。

  • 比较Inspector.CurrentItem.EntryID也不好。新的/未保存的项目EntryID始终为空白,一次可能有多个未保存的项目打开。

  • Inspector.Caption或者Inspector.CurrentItem.Subject同样模棱两可。

  • 暂时将Inspector.CurrentItem.Subject(或任何其他项目属性)设置为明确的值,然后在其他列表类型的作品中查找该值,但具有将检查器中的项目标记为“脏”的烦人副作用,即在关闭检查器时将再次要求用户保存该项目(即使他只是查看收到的邮件)。

还有其他想法吗?


语境:

我正在尝试解决众所周知的错误/功能,即通过简单 MAPI 发起的新电子邮件消息(例如,资源管理器上下文菜单中的发送到>邮件收件人)不会生成Inspectors.NewInspector事件,因此无法向那些添加任何插件功能检查员(例如添加工具栏按钮或在消息创建时执行代码)。在我的 COM 插件中,我有一个用于捕获事件的包装器对象的内部列表InspectorInspectors.NewInspector通过监视和Inspector.Close事件将项目添加和删除到此列表中。

作为一种替代方法,我使用了一个 shell 钩子:我现在能够在创建或销毁新的检查器窗口时收到通知,因此这似乎是一个很好的地方,可以跳入并将我的内部包装对象列表与Application.Inspectors集合匹配并相应地添加或删除新的或孤立的包装对象。

0 投票
7 回答
40027 浏览

outlook - 展望中的降价

因为这不是那种接受wiki的公司,所以我们倾向于通过outlook进行大量的交流。通过它发送代码片段很痛苦。有什么方法可以让我们在这里得到降价的东西,但是在前景中?

0 投票
1 回答
693 浏览

outlook - Outlook(2003) msg​​file 扩展名的注册表值代表什么?

如果要打开扩展名为 .msg 的 msg 电子邮件文件,Outlook 2003 将使用一些参数启动。因此,您可以找到以下注册表项:

第一个指向带有参数 /f "%1" 的 "outlook.exe"。这将使用打开邮件的信息启动 Outlook。但是“命令”键具有以下值:

谁能告诉我这到底有什么用?

我正在编写一个需要修改这些键的 vsto Outlook 插件。如果我修改“标准”键,Outlook 将正常启动,而无需使用我更改的键。如果我还修改“命令”键 Outlook 甚至不再启动。

只有当我删除“命令”键时,一切才能按预期正常工作。但是,如果不知道密钥的用途,这不可能是解决方案。

0 投票
1 回答
287 浏览

html - 无法使 HTML 链接中的切片重复以扩展

我试图插入带有电子邮件(Outlook)的html图像以另存为模板。我发现有一个应该重复的切片无法正常工作(使颜色扩展到文本结束的位置)。有没有人可以在这件事上帮助我?下面是我正在使用的编码。

0 投票
1 回答
456 浏览

c# - 为什么我的 UserProperties 集合是空的?

我正在使用 Outlook 2003 PIA 和 VS 2005 来访问公用文件夹中的项目。尽管项目具有多个用户定义的item.UserProperties字段,但集合总是返回空。

如果我使用 在代码中添加属性UserProperties.Add,它会与项目一起正确保存,然后在下次访问项目时在 UserProperties 中可用。但是,使用MFCMapi访问该项目时,我看不出这个新属性与现有用户定义的属性之间没有区别。

有什么想法吗?

谢谢。

0 投票
7 回答
46646 浏览

asp.net - 如何创建包含多个 VEVENT 的 .ICS 文件以导入现有 Outlook 日历

我需要允许用户下载具有多个会议日期的活动。为此,我创建了一个要下载的内存流,它会生成一个 .ics 文件。例如:

如果我在这个文件中只包含一个 VEVENT,它会将它保存到我现有的 Outlook 日历中。但是,当我有多个 VEVENT 时,它想将其作为新日历打开并将其归档在“其他日历”下。

有没有办法(不使用文件 - 从 Outlook 中导入)指定日历在打开时应自动导入现有日历?

更新:澄清一下,每个 VEVENT 都与一个“约会”有关。然而,可能有也可能没有重复的模式。

-麦克风

0 投票
1 回答
2816 浏览

.net - COM 互操作程序集加载顺序

我在使用 Outlook 插件时遇到了非常奇怪的程序集参考问题和加载问题。以下是详细信息(说来话长:)):

我有一个旧的 Outlook 插件,使用 .Net 1.1 编写和构建。插件是使用其自己的应用程序域中的非托管 shim 加载的。使用 .Net 2.0 可以正常工作,即使用户机器上不存在 1.1。

该插件使用由 VS 2003 针对 Outlook 2000 创建的自定义 Outlook 互操作程序集,然后重建为强命名(就像我的插件一样)。

在插件项目中,我只引用了这个自定义互操作程序集,没有引用官方的 MS 互操作程序集。

当这个插件在 Outlook 2007 和 .Net 2.0 的环境中使用时,官方的 MS 互操作程序集安装在 GAC 中,出于某种原因,我看到插件加载并使用它们。

在 Connect 类的代码中,我有一个 using 指令:

这是我的自定义互操作程序集的命名空间。

在 Connect ctor 我有这些代码行(添加用于测试目的):

这输出:

Outlook.Application 完整类型为:Outlook.ApplicationClass、Interop.Outlook、Version=9.0.0.0、Culture=neutral、PublicKeyToken=4cfbdc5349cf59d8

这正是我所期望的。

问题是,当调用 OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom) 时,我在日志中看到 MS 互操作(我有一个当前域的 AssemblyLoad 事件的挂钩)程序集也被加载:

输出:

程序集 Microsoft.Office.Interop.Outlook,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c 加载自:GAC

我的 OnConnection 方法是这样开始的:

这输出:

OnConnection 应用程序对象的完整类型是:Microsoft.Office.Interop.Outlook.ApplicationClass, Microsoft.Office.Interop.Outlook, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c

这真的很奇怪,你可以在下一行看到我可以成功地转换到 Outlook.Application 没有任何问题。

我已经检查过 Reflector,我的程序集不以任何方式引用 Microsoft 的互操作程序集。我的 Interop.Outlook.dll 也是如此。

那么,有人知道发生了什么吗?这些问题的答案是什么:

  1. 为什么它会加载 Microsoft 程序集?

  2. 如何在不同程序集中定义的不相关类/接口之间进行转换?

注意:我创建了一个新插件,非常简单,它什么都不做,只是加载。我可以重现这个问题,所以真的,有谁知道 CLR 如何决定加载什么互操作以及从哪里加载。除了在 GAC 中,还有其他地方(注册表???)在 COM 对象和它所需的互操作之间存在链接?

0 投票
4 回答
4884 浏览

c++ - 在消息的通知区域中显示 Outlook 图标,而不是在收件箱中

我设置了将一些电子邮件移动到不同文件夹的规则。我希望这仍然在通知区域中显示信封,但规则向导中没有执行此操作的选项。看起来我要么必须让规则“运行脚本”或“执行自定义操作”,要么分别允许 vba 或 c/c++。

其他人有更好的解决方案吗?

0 投票
3 回答
1422 浏览

outlook - 用于会议的 Outlook VSTO 插件

我们为 Outlook 会议创建了一个 VSTO 插件。

作为其中的一部分,我们捕获事件SendEvent的消息FormRegionShowing

然后该方法_apptEvents_Send测试几个属性并在适当的地方退出。

我们遇到的问题是某些用户的消息被发送了两次。一次是在发送会议时,第二次是在用户重新打开 Outlook 时。

我一直在寻找内存泄漏,认为某些东西可能没有被正确处理,并在所有 finally 调用中添加了显式对象处理,以尝试确保资源得到管理,但仍然在整个组织中不一致地获得功能。即我在开发过程中从未遇到过问题,在测试期间也没有其他开发人员遇到过。所有用户都是最新的框架 (3.5 SP1) 和 Outlook 修补程序。

有没有人对可能导致这种情况的原因有任何想法?

任何人可能有的任何想法都将不胜感激。