问题标签 [comaddin]

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 投票
2 回答
209 浏览

c# - Outlook COM 加载项 - 在 Outlook 撰写窗口中显示任务窗格

配置:Outlook 2016,COM 插件(C# 不是 office.js)——我们也在使用 Addin-Express 的 COM 库,但它建立在 Outlook 中现有的 TaskPane 之上。

我们目前正在使用 Outlook 任务窗格,它在 Outlook 的主窗口中运行良好:

在此处输入图像描述

如果不明显,它是可停靠的(并设置为右)并且在用户在邮件/约会/等之间切换时可见。

请原谅我对这方面的不熟悉。

有谁知道是否可以在 Outlook 撰写窗口(或会议请求窗口)中显示相同的任务窗格?

IE:

在此处输入图像描述

非常感谢任何帮助/指导/文档/甚至可行性/ LoE。

0 投票
2 回答
1475 浏览

excel - 使 Excel COM 加载项成为 VSTO 加载项

我使用 Visual C# 编写了一个 Excel 加载项。此加载项在 Excel 中显示为 COM 加载项。但是,我很确定在更新 Visual Studio 之前,它曾经在 Excel 中显示为 Excel/VSTO 加载项。(我知道我能够访问 Globals 类。这个线程说 Globals 只能在 Excel 加载项中访问。)

所以我的问题是:如何使我的 COM 加载项成为 Excel/VSTO 加载项?

0 投票
1 回答
52 浏览

outlook - 创建 Com 加载项显示在 Outlook 365 中的非活动应用程序加载项中

我使用 Visual Studio 2010 Shard Add-in 项目模板创建了一个 Com Add in。当我构建项目时,会写入注册表项。当我打开 Outlook 365 时,它会显示 Add in Inactive Add in 部分。我怎样才能让它工作?

我在https://docs.microsoft.com/en-us/office/troubleshoot/office-developer/office-com-add-in-using-visual-c一步一步地按照以下步骤进行操作

以下是我在 Outlook 中看到的错误

在此处输入图像描述

0 投票
1 回答
32 浏览

outlook - 在 SendItems 文件夹中过滤发送给用户的过去电子邮件

问题陈述

我正在寻找一种方法来计算发送到特定电子邮件的任何电子邮件,逻辑是它已发送,它将位于“已发送项目”中。

问题

我正在使用下面的代码,我认为它接近正确但不起作用,即我没有得到计数。可能我错过了一些东西。如果有人有解决方案,想听听如何最好地做到这一点。

早期的尝试

  1. Items.Find("[To] = 'search@gmail.com'")
  2. Items.Restrict("[To] = 'search@gmail.com'") 他们都没有给我结果。

如何

注意:虽然代码适用于基于 ADX 的插件,但我相信问题并非特定于它。[代码]

0 投票
1 回答
51 浏览

c# - .net Process.Start 方法仅在从 whithin excel com 插件启动时才在 Excel 2013 中启动 Excel 文件

System.Diagnostics.Process.Start() 未在 Excel 2013 中启动 excel 文件,并且该文件也是从 excel comaddin 内部启动的。

它在 Process.start 之后挂起并等待一段时间,然后返回一个空进程值。

如果我使用相同的代码并尝试从控制台应用程序打开文件,则会启动相同的文件。

所有这些行为仅在 Excel 2013 中发生。

请提供同样的帮助。

0 投票
1 回答
34 浏览

c++ - 无法从 winword 文档获取超链接:类型不匹配

我在我的 MS Office 的 COM 加载项中有以下代码,用于遍历 winword 文档中的所有超链接,然后解析它们:

调用 raw_Item() 时的结果 (hr) 为 80020005 (DISP_E_TYPEMISMATCH))。当我浏览 Shapes 时,这样的代码没有问题。

有人可以帮助我吗?

0 投票
0 回答
43 浏览

c# - C# 中的 Powerpoint/ExecuteMSO 命令未立即执行。由于这个原因,命令后面的代码行导致混乱

以下是我用来剪切的代码 - 将 powerpoint 表中的现有列粘贴到新添加的列中。粘贴后,我正在执行一些操作,例如合并粘贴列中的单元格。我唯一发现的是在运行executemso命令后该列仍然没有粘贴,但是一旦函数执行结束,我就能够看到该列正确粘贴在UI上,但是合并单元格的操作被覆盖了与糊状物,这表明实际的糊状物发生得太晚了......

...

0 投票
1 回答
39 浏览

c# - 从子进程(控制台应用程序)访问 Excel VSTO COM 插件

我想要做的是能够从我的 VSTO COMAddin 启动一个子进程(具有提升的权限),它可以访问COMAddin生成它的进程的对象。

更具体地说,我希望能够杀死插件(通过COMAddin.Connect = false),做需要特权的工作,然后重新启动插件。

使用第二个插件我可以做到这一点,因为我可以访问该Application.COMAddIns集合(第二个插件会在需要时关闭第一个插件,启动特权进程并在完成时重新启动第一个插件)。如果可能的话,我宁愿没有 2 个单独的插件来完成此任务。

我也知道我可以启动一个新的 Excel 实例new Excel.Application()并从那里访问COMAddIns它,但是我不想要一个新实例,我希望能够从正在运行的实例控制插件。

任何帮助/想法表示赞赏。

0 投票
0 回答
193 浏览

vsto - 是否可以使用 .Net 5 和非托管 shim 创建 MS Office com 加载项?

由于 VSTO 还没有移植到 .NET Core,我可以用老式方法创建一个非托管 shim 来加载 CLR 并托管托管的 .Core 5 加载项吗?

我的特定用例是一个 Outlook COM 加载项,它目前是使用 VSTO 针对 .NET 框架 4.7 构建的,但我想开始利用 .NET 5。就与 Outlook 的交互而言,它只是在功能区上添加了一些按钮并制作了一个很少调用 Outlook 对象模型。例如,我不需要在 Excel 中执行基于 VSTO 文档的加载项之类的操作。

我不想走 JS 路径,因为有相当多的 C# 代码需要移植。

我发现了这个https://github.com/jozefizso/COMShimWizard/releases,它展示了如何使用 .NET 框架进行操作,并且假设它与 shim 向导在 VS 2010 中所做的非常接近,如果不完全相同的话。

由于我需要加载 .NET 5,我相信要加载 CLR,我需要按照此处概述的内容做一些事情:https ://docs.microsoft.com/en-us/dotnet/core/tutorials/netcore -托管

在我进一步深入研究之前,这种方法可能有效吗?特别是,是否有可能进行必要的 COM 操作来实例化托管组件?

并且假设所有这些都是可行的,这是否或多或少等同于 VSTO 为 .NET 框架 4.x 所做的,即它是否在任何方面都不太安全或性能,或者是否会有任何功能不可用内置 VSTO 的加载项?

更新 1

我做了一些更多的研究,提出了一些额外的潜在问题。

  1. 对于 .NET 框架的情况,一旦将一个类加载到 CLR 中,“解包”返回的引用以获取可用于访问该类型实现的 COM 接口的 COM 指针相对容易。我不清楚在使用 netfxr 接口加载 .NET Core 运行时时如何做到这一点。
  2. .NET Core 没有应用域的概念,这是否意味着加载到 Core 运行时的多个加载项不会被隔离,或者有办法实现某种程度的隔离?从我读过的内容来看,他们的堆似乎至少会被隔离,但我不确定。

更新 2

从阅读此https://github.com/dotnet/runtime/blob/main/docs/design/features/COM-activation.md看来,在 Core 中,将程序集类型作为 COM 服务器的请求将导致自动加载核心运行时(如果尚未加载)并在单独的 AssemblyLoadContext 中创建对象,因此可能根本不需要 shim?另一方面,如果核心运行时已经加载并且版本确实与您尝试创建的类型所要求的匹配,那么该类型将无法加载,所以这似乎是一个问题......

0 投票
1 回答
97 浏览

python - Python win32com 演示outlookaddin.py 控制按钮标题不起作用

直截了当,我尝试使用 Python win32com 演示 OutlookAddin.py,它在 Outlook 2010 中运行良好。

我升级到 Outlook 2016,从那时起,outlookAddin.py 仍在工作,但是它在加载项功能区中添加的加载项 msoControlButton 没有标题。

谁能帮我理解如何解决这个问题。默认情况下,任何安装了 win32com 的人都可以使用该代码,但我仍然在下面给出它以供参考。