如何在 Outlook VBA 中保存所选项目

2024-01-01

我想在 Outlook 中保存所选项目。使用下面的代码,我可以保存该项目,但它仅保存第一个项目,而不保存所选项目。

我需要更改什么才能保存所选项目?

Dim oOlApp As Object, objNmSpc As Object, ofldr As Object
Dim myCopiedItem As Outlook.MailItem
Dim myNewFolder  As String

Set oOlApp = GetObject(, "Outlook.Application")
If Err.Number <> 0 Then
    Set oOlApp = CreateObject("Outlook.Application")
End If
Err.Clear

Set objNmSpc = oOlApp.GetNamespace("MAPI")
Set ofldr = objNmSpc.PickFolder
If Not ofldr Is Nothing Then MsgBox ofldr

Dim oItem As Object
For Each oItem In ofldr.Items
    If oOlApp.ActiveExplorer.Selection.Item(1) = True Then
        oItem.SaveAs Sheet1.Range("V5").Value & oItem.Subject & ".msg", olMSG
        match.Offset(, 7).Value = oItem.SenderName & "-" & oItem.Subject & "-" & oItem.ReceivedTime
        match.Offset(, 8).Value = VBA.Environ("Username") & "- " & VBA.Now
        Exit Sub
    End If
Next oItem

如果没有错误,以下行将不会运行

If oOlApp.ActiveExplorer.Selection.Item(1) = True Then

另外你正在打电话Exit sub,这意味着只能处理一项。

绝对没有理由循环遍历文件夹中的所有项目。将循环更改为以下内容

For Each oItem In oOlApp.ActiveExplorer.Selection
        oItem.SaveAs Sheet1.Range("V5").Value & oItem.Subject & ".msg", olMSG
        match.Offset(, 7).Value = oItem.SenderName & "-" & oItem.Subject & "-" & oItem.ReceivedTime
        match.Offset(, 8).Value = VBA.Environ("Username") & "- " & VBA.Now
Next oItem
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Outlook VBA 中保存所选项目 的相关文章

  • 自动电子邮件生成无法解析多个收件人

    我有一个 VBA 脚本 可以创建并保存草稿电子邮件 为了添加收件人 它从链接的 Excel 表中提取一个字符串并将其添加到 Recipients 对象中 对于只有单一收件人的电子邮件 这就像一个魅力 用户所需要做的就是打开草稿 花 5 秒钟
  • 将不连续范围从一张纸复制到另一张纸

    VBA 新手 也是第一次发帖 可能会问一个非常基本的问题 然而 我在互联网上 或在我拥有的参考书中 没有找到答案 所以我很困惑 如何将一张纸中的一堆间隔开的列放入另一张纸中 但没有间隙 例如 我想从这样的工作表中复制标记为 x 的单元格 x
  • 调用 UDF 时公式中使用的值的数据类型错误

    我一直在努力找出这里出了什么问题 我有两个包含字符串值的列 我使用第三列调用工作表中的 UDF 但最终得到 Value 并出现错误 公式中使用的值的数据类型错误 Eg Col I Col J File1 Y File1 N File2 Y
  • 使用Excel宏执行命令并关闭cmd窗口

    这是我现在正在尝试的 Sub del BJSFM files Call Shell cmd exe S K cd d C UTAS SA del f s q BJSFM gt nul vbNormalFocus End Sub 问题是命令窗
  • 雅虎财经历史股价动力查询返回301响应

    直到今天我的 Excel 2016 power query 都能够从以下 URL 获取历史股票定价数据https finance yahoo com quote AAL history p AAL https finance yahoo c
  • VBA按空格分割字符串

    我想要一个 Excel 函数 我可以调用该函数并将单元格传递到其中 输入 Firstname Lastname email protected cdn cgi l email protection Firstname midname Las
  • 在没有加载项的情况下加载 Excel

    All 我编写了一个电子表格应用程序 用户通过双击我提供的图标来加载它 问题是用户有很多插件 这会降低 Excel 的速度 如何使用命令行开关加载 Excel 来禁用所有加载项 该问题适用于 Excel 2003 和 Excel 2007
  • 通过 VBA MS_Access 将 MS Access 表导出为 dBase 5

    如何通过 VBA 将单个表导出为 dBase 5 文件 目前我正在使用这个VBA代码 DoCmd TransferDatabase acExport dBase IV DB Total acTable DB Total C Data Fal
  • 我可以将 Outlook 中的项目拖到我的 SWT 应用程序中吗?

    背景 我们基于 Eclipse RCP 3 6 的应用程序允许人们拖动文件进行存储 处理 当从文件系统中拖动文件时 这种方法可以正常工作 但当人们直接从 Outlook 中拖动项目 消息或附件 时 这种方法就不行了 这似乎是因为 Outlo
  • 根据不同的列数据范围隐藏行

    我对使用 VBA 相当陌生 我正在尝试创建一个代码 该代码将查看具有不同数据范围的两个不同列 并隐藏最后一个数据点之外的行 引用两列 目前我有这个 Private Sub Worksheet PivotTableUpdate ByVal T
  • 在 Excel 工作簿中找不到链接

    我编写了一个宏来打开多个受密码保护的工作簿 这些工作簿彼此之间都有链接 因此为了方便起见 我设置了UpdateLinks 0这样在其他书籍打开之前 我就不会收到所有链接更新的密码提示 所有工作簿打开后 我尝试使用以下命令更新链接 Workb
  • Excel 的查找和查找下一个 VBA

    我一直在试图弄清楚如何处理这个问题 但基本上我想要一种方法来打印 B 列中的值 给定与 A 列匹配的特定值 例如 Column A Column B 1 ABC 2 DEF 3 GHI 1 JKL 我想在使用 find findnext 或
  • 使用 VBA 从数据透视表中提取数据

    我编写了以下 vba 代码 该代码应该从 old xlsx 的某些单元格导入任何现有数据 这些单元格是数据透视表的一部分 并且 OE gt location gt qual in 作为其行的子单元格 该列由手动输入的日期决定 strForm
  • 通过 C# 修改 Outlook OFT 文件

    我的情况是 我有大量 OFT Outlook 模板文件 大约 1000 个 它们都需要使用新的联系信息进行编辑和保存 更新 收件人 和 抄送 行 我过去曾使用过 Outlook C API 但从未使用过 oft 文件 是否可以读取 oft
  • VBA C# DLL 未注册

    我制作了一个 C NET dll 我想从 VBA 运行它而不注册它 我找到了解决方案there https stackoverflow com a 13333819并且它可以完美工作 但前提是程序集是使用 Framework NET 3 5
  • 使用 VBA 使用另一个表中的值更新访问表

    我在数据库中有两个表 表 1 和表 2 我正在尝试根据表 2 中的数据使用 VBA 代码更新表 1 Example Table 1 PartNo Price Description A 100 B 200 Bad C 300 Table 2
  • 如何VBA等待Windows保存对话框和发送密钥

    我正在创建一个宏文件 用于下载并保存从 SAP 旧版本 7 20 中提取的数据 当出现保存对话框时 未检测到 Windows 对话框 因为我的客户端 SAP 版本是旧版本 7 20 现在我对此的解决方案是发送密钥 但问题是某些数据包含大量数
  • 如何获取数据透视表的 ListObject 对象?

    这个问题最初是作为answer https stackoverflow com a 21321664 2712565作者 休 西格雷夫斯 Hugh Seagraves 关于相关问题的文章 他 想要引用一个工作表上的列表对象 表格 而另一工作
  • VBA 中的求和函数

    我在 vba 中对单元格求和时遇到问题 我需要使用单元格 a b Range A1 function SUM Range Cells 2 1 Cells 3 2 但它不起作用 函数不是范围内的属性 方法 如果您想对值求和 请使用以下命令 R
  • 在Excel中显示毫秒

    我正在尝试在 Excel 宏中显示毫秒 我有一列整数 它们是以毫秒为单位的时间戳 例如 28095200 是上午 7 48 15 200 我想在它旁边创建一个新列 以保持运行平均值并以hh mm ss 000格式 Dim Cel As Ra

随机推荐

  • 如何解决 SQL0418N 错误

    我正在使用下面的语句来更新 插入一些数据到表中 如果我不带参数运行它 那就没问题 但是 一旦我尝试使用它抛出的参数执行它 SQL0418N 语句包含使用非类型化参数标记 DEFAULT 关键字或无效的空值 我已阅读错误信息here http
  • WebDeploy API (IIS 7) - “公共 API”:资源?

    有人知道 WebDeploy API 的任何资源吗 有人用过吗 我尝试在官方论坛上询问 并浏览了该网站 该网站说有 公共 API 但没有链接 文章 资源 博客文章或示例 http forums iis net t 1180561 aspx
  • 单击事件不适用于动态添加的 Li->span->id

    单击事件不适用于动态添加的 Li gt span gt id case 101 strLink li a span Form 101 span a li sidebar nav append strLink break sidebar na
  • 如何将文件夹标记为包?

    我曾经认为文件夹需要有扩展名 以便 Finder 将它们识别为包 该扩展将在所属应用程序的 Info plist 中声明 显然还有另一种更优雅的方式 但我不知道它是如何完成的 例如 iPhoto 图库被 Finder 视为一个包 但它没有扩
  • 为什么更喜欢属性而不是公共变量? [复制]

    这个问题在这里已经有答案了 其他能够对 setter 中的值进行健全性检查是否有更根本的原因来选择属性而不是公共变量 我们以前有过这个主题 但现在找不到任何内容 简而言之 您的需求可能会发生变化 如果现在没有健全性检查 将来可能需要进行健全
  • byte[] 数组的长度

    String str 123456789 byte bytes str getBytes 我想进行以下循环 for int j 0 j lt bytes length j b bytes j b将存储数组的每个字节 但我似乎无法正确获取数组
  • GCE 上没有名为“google.cloud._helpers”的模块

    我在导入时遇到错误google cloud bigquery在普通教育考试上 它不会发生在非 GCE 的环境中 我执行了更新pip 你知道为什么吗 user1 sv1 python Python 3 6 0 Continuum Analyt
  • 如何获取 Ruby on Rails 生成的表单元素 id 以供 JavaScript 中参考?

    当使用form for助手和一个text field调用时 Ruby on Rails 会生成一个唯一的 id
  • eslint 解析错误:意外的标记 =

    为什么 eslint 会抛出这个错误 Javascript 在 React Native 中运行没有问题 该代码取自react navigation 示例 https reactnavigation org docs intro https
  • Qt foreach 中的第二项是否只计算一次?

    如果我有这个代码 foreach QListWidgetItem ii selectedItems urls push back ii gt data Qt ToolTip toString Would selectedItems 只被调用
  • Javascript“eval”是同步还是异步?

    考虑以下代码 eval a 5 b 10 eval a b 如果这里第一个 eval 运行很长时间 我的下一个 eval 是否会返回一个错误 指出 a 和 b 未定义 因为 a 和 b 值在第一个 eval 结束时初始化 eval方法是同步
  • 将 ShowCaseView 与 ActionBarCompat / ActionBarSherlock Android 结合使用

    我在用ShowcaseView图书馆来自here https github com Espiandev ShowcaseView在我的安卓应用程序中 我想用ShowcaseView with Actionbar Compat 但我不知道如何
  • 检索 JSON 对象时出现空指针异常

    我是 JSON 新手 我在用http pnrapi appspot com http pnrapi appspot com 使用 JSON 获取特定列车的状态 但是 在尝试解析接收到的对象时 我总是遇到空指针异常 请帮忙 这是我的代码 pu
  • 下载 Sun java 文档/镜像网站

    我们公司和 Sun 的 javadocs 之间的网络似乎已关闭 我在哪里可以获得给定包的 javadoc 副本 以便我可以保留自己的存储以处理将来的网络中断 有 Sun javadoc 的镜像吗 对于每个主要版本都有一个大型文档包 例如这里
  • 使用 Python 通过代理以编程方式发出 HTTP 请求

    如何使用 Python 通过代理发出 HTTP 请求 我需要对以下代码做什么 urllib urlopen http www google com The urlopen功能支持代理 尝试这样的事情 urllib urlopen your
  • OpenXML 在 Word 文档中查找变量并替换它们

    我需要在文档中搜索 中包含的字符串 因此 如果应用程序在文档中找到该变量 它将用 DateTime Today ToShortDateString 替换该变量 例如 string filename C Temp appNum Receipt
  • 从单个对话框片段获取日期和时间选择器值并将其设置在 EditText 中

    我正在开发一个用户可以设置日期和时间的应用程序 我想在单个对话框片段中设置日期和时间并将其设置为编辑文本 是否可以在 1 个对话框片段中使用日期和时间选择器 如果是的话 你会怎么做 目前我正在从对话框片段中获取时间 然后将其设置为EditT
  • 如何通过 GitHub API 获取 Git 标签中的所有提交

    我必须获取在 Git 存储库上创建新标签时所包含的所有新提交 这需要通过 GitHub API 来完成 例如 Git UI 显示 Tagging Tag1 并且有一个与其关联的 sha 假设 sha 是 SHA1 现在我如何通过 GitHu
  • 无法导入 Tornado 子模块

    首次尝试安装 Tornado 在 EC2 Linux 实例上 我做到了 pip install tornado 然后尝试运行 hello world 示例 http www tornadoweb org en stable hello wo
  • 如何在 Outlook VBA 中保存所选项目

    我想在 Outlook 中保存所选项目 使用下面的代码 我可以保存该项目 但它仅保存第一个项目 而不保存所选项目 我需要更改什么才能保存所选项目 Dim oOlApp As Object objNmSpc As Object ofldr A