我有一个读取Mail的宏来生成一个包含邮件内容的任务。 在极少数情况下,当从邮件中读取RTFbody时,如果说“未实现”,则会遇到问题。 我想知道我是否可以对此进行测试?类似于WHEN IS NULL ...允许检查变量是否有适当的内容。 ? 子CreateTempTaskFromMail() Dim oMail As Outlook.MailItem
Set oMail = ActiveInspector.CurrentItem
Dim s, sNr As String
s = oMail.subject
Dim oTask As Outlook.TaskItem
Se
我正在尝试设置RTFBody属性的TaskItem (使用Office )。下面是我想要做的事情的一个片段,它正在抛出一个异常。以前有人尝试过设置RTFBody吗?如果是的话,你是怎么做的?
Dim oApp As Outlook.Application = New Outlook.Application
Dim t As Outlook.TaskItem = DirectCast(oApp.CreateItem(Outlook.OlItemType.olTaskItem), Outlook.TaskItem)
t.Status = Outlook.OlTaskStatus.olTaskNot
我试图从Outlook收件箱子文件夹中提取所有电子邮件,然后提取每个邮件项的主题。
我将文件夹定义为:
'Outlook folder- deifinitions
Dim olApp As Outlook.Application
Set olApp = New Outlook.Application
Dim olNs As Outlook.Namespace
Set olNs = olApp.GetNamespace("MAPI")
Dim olRecip As Outlook.Recipient
Set olRecip
Outlook 2010有没有办法在收到邮件时发送电子邮件?我不想转发或重定向原始电子邮件(主要违反业务规则);我只想在另一个地址收到电子邮件警报。如果消息包括主题和发送者,但不是必需,那就太好了。这似乎应该有一个规则来做到这一点,但我需要帮助创建它。
我考虑过使用Outlook规则调用VBA脚本来发送电子邮件。我测试了几个脚本,但它们对我不起作用。我认为我的帐户没有适当的安全许可,或者VM环境被配置为不允许sendmail脚本。
可接受的答案给出了以下错误:
Line 6: Adodb.fields Arguments are of the wrong type, out of
我是VBA的新手。如果有人能为我的任务提供一个Excel或Outlook脚本,我将不胜感激。
任务相对简单。我有超过4000 .msg格式文件(outlook电子邮件)在一个文件夹。我想提取某些电子邮件信息(Subject、Sender、CC、Receiver、SentDate)并将这些信息导入excel单元格,例如:
Subject Sender CC Receiver SentTime SentDate
Re:.. Mike Jane Tom 12:00:00 23 Jan 2013
我能想到的唯一方法就是一个一个地打开这些.msg
我在这个主题上做了相当多的研究,我得出的结论是,我想要做的事情根本不可能实现。无论使用Outlook对象库中的哪种方法,在随后调用.body、.HTMLBody或.RTFBody时,似乎任何由.display和.getInspector等函数自动填充的签名都将被擦除。我已经得到了很多很好的建议,比如下面,但是似乎.body的任何变体都会擦除签名,无论签名是如何填充的。
Dim OutApp As Object
Dim OutMail As Object
Dim signature As String
Set Out
我可以使用“插入图片”和“插入文件链接”功能手动将图片插入outlook 2010新电子邮件中。在文件字段中,我输入链接: & c1=composer
该链接返回一个图像,我可以在电子邮件正文中看到它。
我需要使用VBA输入此URL。我写了下面的代码,但它不能工作。当我尝试运行它时,出现了以下消息:运行时错误‘4198’:命令失败。它会高亮显示包含该链接的行。
我的代码:
Sub insertHTMLFile()
Dim Insp As Inspector
Set Insp = ActiveInspector
If Insp.IsWordMail Then
Dim wordDoc As
我创建了一个在Outlook中创建电子邮件草稿的过程。用户可以通过将电子邮件正文写在一个范围内来修改电子邮件正文,并将其添加到电子邮件中,以保持所有格式选项。
我的问题是,当我的程序开始工作时,当我开始使用word编辑器时,Microsoft Outlook开始崩溃,并显示消息"Microsoft Outlook已停止运行“,当我在VBA上终止outlook时,我收到消息”远程过程失败
为什么会发生这种情况?有没有办法在运行代码之前打开Outlook以避免该错误?
Public Sub CreateDraft(Destinatary As String, CC As String, S
我有一个用户,他收到一封系统生成的电子邮件,它的格式是字体,因此当它在outlook中呈现时,文本列不会对齐。我知道它需要什么字体,而且它安装在用户的PC上。在groupwise中,他可以在收到邮件后简单地更改邮件上的字体,一切正常。然而,在Outlook (我们最近移动到它)中似乎没有这方面的功能。
Microsoft论坛上建议的修复方法是在收到消息时使用规则来运行VBA脚本,并将消息转换为RTF,然后设置字体。
这是我第一次尝试VBA,尽管我以前做过几个小的vb脚本,所以我可能在开始的时候就大错特错了,但这里是我尝试过的。
Sub TestMessageRule(Message As Ou
我正在使用Outlook脚本在BlueDevilFan 2013中显示电子邮件中的互联网标题。我一直在尝试修改VBA,使其只输出“to”或“for”地址,并丢弃所有其他文本。
下面是VBA脚本:
Sub ViewInternetHeader()
Dim olItem As Outlook.MailItem, olMsg As Outlook.MailItem
Dim strheader As String
For Each olItem In Application.ActiveExplorer.Selection
strheader = GetIn
如何使用VBA Excel获得具有用户主体名称的单个联系人的Outlook属性?
我对标有“电子邮件地址”的标签感兴趣.
我成功地获得了PrimarySMTP属性,但我想获得其中列出的所有地址的列表。“别名”属性为我提供了一个条目,而另有几个条目。
这就是我为获得分发列表成员资格所做的事情:
Dim objExchUsr As ExchangeUser
Dim myolApp As Outlook.Application
Dim myNameSpace As Namespace
Dim MyAddrList As AddressList
Dim myRecipient As Outlo
我想用VBA创建一条规则,而不是在规则中运行脚本,这将添加一个类别(红色)的电子邮件来自一个特定的域时收到。我可以弄清楚接收部分和特定的域部分,但我正在为类别的正确VBA语法而苦苦挣扎。类别的颜色是红色,类别的名称是“垃圾邮件”。这是我最新的尝试:
Dim oRuleNew As Outlook.Rule
Dim oCategoryRuleConditionSpam As Outlook.CategoryRuleCondition
Set oCategoryRuleConditionSpam = oRuleNew.Conditions.Category
With oCategoryRuleC
我正在测试使用VBA从Excel发送电子邮件。 我没有收到发送到我的收件箱的电子邮件。 代码如下: Sub email_from_excel()
Dim emailApplication As Object
Dim emailItem As Object
Set emailApplication = CreateObject("Outlook.Application")
Set emailItem = emailApplication.CreateItem(0)
'Now build the email
emailItem.to = "emailaddr
我正在处理宏,它将在outlook邮件附件中找到字符串。我有工作模块搜索主题,正文和附件名称,在给定的邮箱和文件夹。
问题是我的代码不想模仿附件函数中的outlook搜索。
代码搜索邮件主题字段中的单词“office”,并显示已找到的邮件:
Sub t22()
Dim myolApp As Outlook.Application
Dim objNS As Outlook.Namespace
Dim objFolder As Outlook.MAPIFolder
Dim ProcessName As String
Dim EmailName As String
Set myolApp = C
我有一个Outlook规则,它搜索邮件中的特定附件,然后使用下面的VBA脚本保存附件。它已经成功运行了一年多,但最近一直失败,并返回了以下错误:
运行时错误'-2147024864 (80070020)':无法保存附件.
下面是脚本:
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "c:\temp\"
For Each objAtt In itm
当我收到电子邮件时,我创建了这个脚本来播放wav文件。关键是只在办公时间播放声音。如果邮件是在办公时间以外收到的,则不会播放任何声音。
Private Declare PtrSafe Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As LongPtr, ByVal dwFlags As Long) As Long
Sub PlayWavFile(WavFileName As String, Wait A
我正在编写代码,以便在发送邮件时获得邮件的主题行,但由于某种原因,我在变量中没有得到任何信息。
下面是我使用的代码:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim yPrompt As String
Dim xOkOrCancel As Integer
Dim abc As Outlook.MailItem
On Error Resume Next
yPrompt = abc.Subject
xOkOrCancel = MsgBox(y
有时Outlook (2003)失去到一个或多个IMAP服务器的连接。例如,对于应该将邮件移动到这些邮箱的VBA脚本,我得到了以下错误消息:
“运行时错误'-972759285 (C604df0b)”:与服务器的连接不可用。Outlook必须联机或连接才能完成此操作。
然后我必须首先点击"File“-”连接到邮箱.“若要手动建立此连接,请执行以下操作。我正在寻找一个VBA解决方案来自动连接到多个邮箱(仅IMAP),但我不知道在VBA引用中查找什么。
我试过这个:
Sub MyTest()
Dim myNameSpace As Outlook.NameSpace
以下代码在从W7上的Office2010升级到W10上的Office365后停止工作。
Sub readbodytest()
Dim OL As Outlook.Application
Dim DIB As Outlook.Folder
Dim i As Object 'Outlook.ReportItem
Dim Filter As String
Set OL = CreateObject("Outlook.Application")
Set DIB = OL.Session.GetDefaultFolder(olF
我已经在outlook和excel vba中写了一个宏,描述如下: 1. Outlook for Open Excel文件中的代码如果电子邮件主题行匹配:
Private Sub Items_ItemAdd(ByVal Item As Object)
If TypeOf Item Is Outlook.MailItem Then
'// Subject line here
If InStr(Item.Subject, "Run Dashboard") Then
Call openExcel
我的代码在XP上的Excel/Outlook 2003中运行良好,现在正在运行Windows 7 Excel/Outlook 2010,并收到一个错误:
运行时错误“287”:应用程序定义的或对象定义的错误。
我的代码是基于以下答案的:
我正在创建outlook对象和邮件项目,如下所示:
Dim MyOlApp
Dim MyOlItem
Set MyOlApp = CreateObject("Outlook.Application")
Set MyOlItem = MyOlApp.CreateItemFromTemplate(Range("oftLocation
在使用VBA从共享Outlook电子邮箱访问子文件夹时,我遇到了问题。此代码的目标是从位于一个名为"Example_Subfolder“的子文件夹中的电子邮件中下载附件。下面的代码导致错误消息;“运行时错误”-2147221233(8004010f):尝试操作失败。找不到对象。。
Sub foo()
Dim olApp As Outlook.Application
Dim olNS As Outlook.Namespace
Dim olFolder As Outlook.MAPIFolder
Dim destFolder As Outlook.MAPIFolder
Dim srcFo