从 C# 调用 Outlook VBA 代码

2023-12-10

在 Visual Studio 中,我正在创建一个插件,在 addin_startup 中,我将 Outlook 应用程序设置为

app = (Microsoft.Office.Interop.Outlook.ApplicationClass)(Marshal.GetActiveObject("Outlook.Application"));

然后我调用一个从 msdn 获得的 runMacro 函数

private void RunMacro(object oApp, object[] oRunArgs)
{
   try
   {

        oApp.GetType().InvokeMember("Run", System.Reflection.BindingFlags.InvokeMethod, null, oApp, oRunArgs);
   }
   catch (Exception e)
   {
        MessageBox.Show(e.GetType().ToString());

    }
}

我传递此函数、我的 Outlook 应用程序对象和要在数组中运行的宏的名称,如下所示...

RunMacro(app, new Object[] { "showFormDisplay" });

我得到以下异常

Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))

我不知道你为什么会遇到确切的问题,我假设一个或多个参数不正确,但不确定,因为我从未按照你尝试的方式做过。

我建议查看以下文章,获取使用稍微不同的代码的完整示例,您可以在代码中重用:如何:使用 Visual C# .NET 中的自动化运行 Office 宏

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 C# 调用 Outlook VBA 代码 的相关文章

随机推荐

  • XMPP 聊天应用程序因使用 VoIP 服务作为后台模式而被拒绝

    我已经完成了一个 XMPP 聊天应用程序 其中我使用 Voip 服务来获取 Voip 密钥 以便在我在后台时接收聊天消息 功能一切正常 但应用程序商店拒绝该应用程序 响应如下 2 16 多任务应用程序只能将后台服务用于其预期目的 VoIP
  • iPad 上模态视图上显示不需要的 SplitView

    在 iPad 上测试我的第一个 SwiftUI 应用程序时 我发现从 ContentView 显示的模态视图在 iPad 上显示为拆分视图 主侧的 UI 被截断 详细信息侧为空 我确实在这里检查了两篇文章 不需要的分割视图 and UISp
  • 读取csv文件c#

    有没有办法将 csv 文件读入矩阵 这样文件中的每个方块都将是矩阵中的一个单元格 有许多开源 CSV 阅读器 而且编写自己的代码也很容易 首先请访问 codeplex com http kbcsv codeplex com 或者Codepr
  • 使用 D3.js 对折线图中的线条进行动画处理

    我有我的折线图 有 2 条线 绘制折线图的数据是从 csv 文件中提取的 谁能解释一下我如何从一个空图表开始 当我单击一个按钮时 我的线条在图表上有动画效果吗 提前致谢 var Button d3 select button var mar
  • 我无法在 R 中安装软件包

    当我尝试在 Rstudio 中安装任何软件包时 我收到以下错误消息 Error in install packages path 1 C Users javad Documents Rhistory win library 3 2 The
  • 处理来自 api 调用的文件下载

    在反应中 我正在根据 John Culviner 中提到的解决方案测试我的文件下载这个帖子 axios post api downloadMyFile data then response gt const url window URL c
  • jQuery.datepicker.formatDate 和时区偏移

    为了处理日期 我使用 jQuery UIpublic我的应用程序中的方法 jQuery datepicker formatDate 请参阅此处的参数和来源 https github com jquery jquery ui blob mas
  • 在 ASP.NET MVC 5 中将整个对象从视图传递到控制器

    有没有办法将整个对象从 ASP NET MVC 5 视图传递到控制器 这是我的情况 我有一个显示数据库表中所有行的视图 视图的模型是 IEnumerable 每行数据后面都有一个链接 可通往支架式 UPDATE 视图 有没有办法将整个对象传
  • C#/IRS ACA - 使用 WCF 4.5 发送带有 MTOM 附件和 GZip 编码的 Web 服务请求

    我们正在尝试通过公开的 Web 服务将数据发送到 IRS 以进行 ACA 数据传输 但由于安全标头中时间戳和签名元素的顺序 我们无法使 WSE 3 0 方法发挥作用 当 TimeStamp 元素出现在 Signature 元素之前时 IRS
  • Windows 上的 Pyusb - 没有可用的后端

    我正在尝试通过 USB 将我的 Python 应用程序接口与 NFC 设备连接 最好的选择似乎是PyUSB 但我无法让它连接到 libusb 后端 我不断得到 ValueError 没有可用的后端 我查看了堆栈跟踪 发现usb backen
  • 具有多次重复的 scikit-learn GridSearchCV

    我正在尝试为 SVR 模型获取最佳参数集 我想使用GridSearchCV超过不同的值C 然而 从之前的测试中 我注意到训练 测试集的划分极大地影响了整体性能 在本例中为 r2 为了解决这个问题 我想实现重复的 5 倍交叉验证 10 x 5
  • C# 中的 CS0649 错误

    代码中存在一个我找不到的错误 某些变量根本无法工作 我收到的警告 CS0649 字段 Calculations A 从未分配 并且始终具有默认值 0 ABC Formule path Calculations cs CS0649 字段 Ca
  • Ruby 哈希值总和

    我有一个哈希数组 players id gt 1 name gt Alda dice count gt 5 hand gt 6 5 2 4 3 id gt 2 name gt Gonzalo dice count gt 5 hand gt
  • Directdraw:旋转视频流

    Problem Windows Mobile Directdraw 旋转视频流 视频预览正在工作 我现在需要的只是旋转图像的方法 我认为处理这个问题的唯一方法是编写一个基于的自定义过滤器CTransformFilter这将为您旋转相机图像
  • Linux 找不到动态链接的应用程序

    我有一个运行 Linux Kernel 3 10 和 Busybox 的嵌入式系统 如果我交叉编译 由 bu ildroot 构建工具链 因此使用 uclibc 一个没有 static 标志的程序 它不会运行 bin sh hellowor
  • 频繁登录和退出后 Google 登录失败

    我最初可以多次使用 Google 帐户登录我的应用程序 一切安好 但如果我在一两分钟内签入和签出大约 20 次 Google 登录失败并重新登录onActivityResult函数 返回错误代码12501 resultCode 0 我使用的
  • svm scikit learn 中的类权重 = none 和 auto 之间有什么区别

    在 scikit learn svm 分类器中 class weight None 和 class weight Auto 之间有什么区别 从文档中它给出为 将类 i 的参数 C 设置为 SVC 的 class weight i C 如果没
  • 有两个变量的“for 循环”? [复制]

    这个问题在这里已经有答案了 如何在同一个变量中包含两个变量for loop t1 a list of integers strings and lists t2 another list of integers strings and li
  • 从重复值中提取 DataFrame

    我有一个 DataFrame 其中有一列 其中存储了与不同数据相关的更多重复项 A B 1 120 abc 2 121 def 3 122 ghi 4 121 abc 5 120 def 6 121 def 7 122 abc 8 121
  • 从 C# 调用 Outlook VBA 代码

    在 Visual Studio 中 我正在创建一个插件 在 addin startup 中 我将 Outlook 应用程序设置为 app Microsoft Office Interop Outlook ApplicationClass M