vba - 如何发送在文件夹中存储为 *.msg 的所有 Outlook 邮件项目
问题描述
我有一个程序可以创建多封电子邮件并将它们保存在共享驱动器上的文件夹中,该文件夹映射为“Y:”作为 .msg 文件。每封邮件都有不同的收件人、主题和邮件正文。
为了使用我的 Outlook 发送这些消息,我编写了这段代码,但它生成了一个错误“Object Required 424”,并且调试器突出显示了“Set MySource = . . . .”行。任何建议请
Sub SendMSGs()
Dim MyItem As Outlook.MailItem, MySource As Object, file As Variant
Set MySource = MyObject.GetFolder("Y:\UI_messages\")
For Each file In MySource.Files
Set MyItem = file.Name.msg
MyItem.Send
Next file
End Sub
解决方案
我没有测试过这段代码,甚至没有尝试编译它。它修复了代码中最明显的错误,因此至少你会得到更好的错误类别。
将文件名转换为邮件项的技术来自:https ://stackoverflow.com/a/19426859/973283 。
此代码需要引用“Microsoft Scripting Runtime”。没有这个 ,File
和Folder
是FileSystemObject
未知类型。
Sub SendMSGs()
Dim FileCrnt As File
dim FldrCrnt As Folder
Dim Fso As FileSystemObject
Dim ItemCrnt As MailItem
Dim Path As String
Path = "Y:\UI_messages\"
Set Fso = CreateObject("Scripting.FileSystemObject")
Set FldrCrnt = Fso.GetFolder(Path)
For Each FileCrnt In FldrCrnt.Files
If LCase(Right$(FileCrnt.Name, 4)) = ".msg" Then
Set ItemCrnt = Application.CreateItemFromTemplate(Path & FileCrnt.Name)
ItemCrnt.Send
End If
Next FileCrnt
End Sub
推荐阅读
- javascript - 如何将 ajax 成功数据中的值显示到 html 表中?
- javascript - 无法在 firebase 中使用数据 - 错误:FIREBASE 致命错误:无法解析 Firebase url。请使用 https://
.firebaseio.com - node.js - 不能在模块外使用 import 语句
- r - R中是否有一种快速的方法来预测来自RANN的最近邻模型的观察的类结果?
- wordpress - Wordpress 自定义字段 - 嵌套 foreach
- firebase - 使用哈希算法将用户迁移到新的 Firebase 数据库的问题
- double - GLSL:平滑双输入
- php - 合并数组 / foreach 中的重复条目
- javascript - 更好地使用对象列表的转换,而不是使用 2 个减速器
- csv - Liquibase CSV loadData 失败,带引号的字符串包含逗号