Tag: outlook

date格式从VBA导出从Outlook更改为Excel

这在过去几天一直在我的脑海里有点奇怪。 我一直在更新Outlook中的一个macros,它将详细信息导出到Excel中。 到目前为止,macros一直工作正常,愉快地出口发件人,主题和date发送和接收没有问题。 我添加了一些信息,以便我可以捕获邮件已被回复/转发的时间和date,但这是事情出错的地方。 在运行代码的时候,如果我把一个Debug.Print放在variables上,并保存回复/转发的date,它会以正确的格式(dd / mm / yyyy hh:mm:ss)打印出来,但是当它popup时,原因是input为mm / dd / yyyy hh:mm:ss(但仅适用于月份<= 12的date)。 我检查了电脑的区域设置(实际上我已经在2台不同的机器上试过了),并且看不到任何会导致改变的东西。 我使用的代码如下,有没有人有任何想法? 'this is the part that exports to Excel intColumnCounter = intColumnCounter + 1 Set rng = wks.Cells(intRowCounter, intColumnCounter) rng.Value = GetLastVerb(msg) Debug.Print GetLastVerb(msg) Public Function GetLastVerb(olkMsg As Outlook.MailItem) As String Dim intVerb As Integer intVerb = GetProperty(olkMsg, […]

在Outlook电子邮件中粘贴Excel表格:它回头看

我已经能够运行以下代码将Excel范围复制到Outlook电子邮件中(使用Ron de Bruin提供的代码: Sub SendEMail(SheetName As String, EmailBody As String, EmailSubject As String, MyAttachment As String) ' You need to use this module with the RangetoHTML subroutine. ' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, and Outlook 2010. Dim rng As Range […]

Excel 2010将范围和图片粘贴到Outlook中

我很难找出这个问题。 我可以粘贴一个范围没有问题的HTML,但在一些沟通,我们希望超过范围作为一个图片,而不是。 我可以创build一个范围并将其保存为图片,但是我无法弄清楚如何在创build后将图片过滤到Outlook中。 如果您只是在寻找能够复制范围并将其粘贴到Outlook的代码,那么效果很好。 所有电子邮件数据都是在名为Mail的选项卡上引用单元格,因此只需将邮件选项卡和macros复制并粘贴到任何工作簿中,然后通过编辑邮件选项卡上的字段并不更改macros来添加电子邮件自动化。 如果使用此代码,请确保引用Microsoft Outlook xx对象库(在VBA窗口中:工具 – 参考 – Microsoft Outlook xx对象库)。 我需要更进一步,将范围变成图片并粘贴到电子邮件中。 我可以附加它,但我不能将它插入到身体,这是我所需要的。 我已经看了几个例子,包括Ron DeBruins网站上的例子,但是我还没能得到任何一个工作。 我正在使用Office 2010 x64运行Windows 7 x64。 这里是我正在运行的代码粘贴范围。 Option Explicit Sub Mail_AS_Range() ' Working in Office 2010-2013 Dim OutApp As Outlook.Application Dim OutMail As Outlook.MailItem Dim strbody As String On Error Resume Next Dim sh As Worksheet Set sh […]

RichText电子邮件正文中的Excel VBA URL超链接

有谁知道如何创build一个RichText电子邮件正文,它有一个URL书签呢? 例如,这里是我的代码: Sub SendEmailUsingWord() Dim olApp As Outlook.Application Dim olEmail As Outlook.MailItem Dim olInsp As Outlook.Inspector Dim wdDoc As Word.Document Dim strBody As String ' The body of the message, want to create a hyperlink to (eg) http://www.google.com but ' still display HERE. ' In HTML it would be <a href="http://www.google.com">HERE</a> ' But I want […]

通过用户标识在Outlook中search联系人

我想实现的是通过用户名在Outlook中查找联系人。 以下是我正在使用的代码(使用来自本论坛其他主题的提示): Sub Lookup_address_book (a as Integer, thissheet as Worksheet, myrange as Range) Dim myoutapp as Object Dim myNameSpace as NameSpace Dim myAddrList as AddressList Dim myAddrEntry as AddressEntry Dim alias as String Dim cell as Range Set myoutapp = CreateObject("Outlook.Appliation") Set myNameSpace = myoutapp.GetNameSpace("MAPI") Set myAddrList = myNameSpace.AddressLists("All Users") With thissheet For Each cell […]

从Excel中使用Outlook事件

我试图从Excelmacros中的Outlook对象模型中使用“ItemAdd”事件MSDN链接这里 ; 但是,我还没有find一种方法来利用Excel以外的事件。 我的预期用例是监视共享邮箱中收到的项目并logging他们的接收。 我目前正在一个计时器上运行一个循环,检查新的电子邮件,但是我希望只要有可能就logging每次事件触发。 不幸的是,我无法直接从Outlook运行任何macros,所以我只能从其他Office应用程序访问Outlook对象模型。

对于OlAppointment对象的HTMLBody解决方法?

我正在研究一个将Outlook会议和约会从Outlook日历链接到格式化的Excel电子表格的项目。 使用VBA,我可以毫无问题地展开预约/会议。 也就是说,当事件被拉出时,一些内容不会导出到Excel中,特别是embedded式的Excel工作表对象。 我的目标是将embedded式Excel工作表连接到独立的Excel文件,该文件将用作仪表板。 我到目前为止的代码能够拉取发件人,约会date和Outlook邀请的正文消息。 问题是,我似乎无法得到embedded的Excel工作表导出到Excel。 如果这是在电子邮件中,我知道我可以使用.HTMLBody属性,并将已标记为数据表的数据。 但是,因为我正在使用olAppointmentItems而不是MailItems,所以我认为HTMLBody属性不是一个选项。 我希望有人能指出我的方向,使我能够在Outlook中拉embedded式工作表对象。 我正在运行的代码的相关部分在下面,我收到一条错误消息,指出olAppointments对象不支持.HTMLBody属性。 公用Sub中调用的variables在macros所在的Excel Sheet中被命名为单元格。 任何build议将不胜感激。 谢谢! Public Sub ExtractAppointments_ForPublic() With Worksheets("Calendar") Call GetCalData(.Range("dtFrom").Value, .Range("dtTo").Value) End With End Sub Private Sub GetCalData(StartDate As Date, Optional EndDate As Date) 'Source: http://www.codeforexcelandoutlook.com/blog/2008/08/extract-calendar-data-from-outlook-into-excel/ ' ————————————————- ' Notes: ' If Outlook is not open, it still works, but much slower (~8 secs […]

Outlook发送事件类

背景: 前一段时间,我发现了一个类模块来从outlook获取事件,具体来说,正如标题所示,我正在使用它来捕获发送事件项 – 要知道它是否真的被发送。 这是Class模块本身。 我不记得我曾经怎么称呼它(我只是保存它为以后的引用,但是,删除的方式来调用它在我的主要子)。 Option Explicit Public WithEvents itm As Outlook.MailItem Private Sub itm_Send(Cancel As Boolean) Dim blnSent As Boolean On Error Resume Next blnSent = itm.Sent If Err.Number = 0 Then Debug.Print "Email not sent" Else Debug.Print "Email sent") End If End Sub 问题: 我忘了我应该如何在发送电子邮件的子文件中调用它。 我已经在顶部尝试了以下声明: Dim itmevt As New CMailItemEvents Public […]

根据单元格值select不同的电子邮件正文

根据D栏中的值,有3个正文内容可供选取。 1)如果“D”列的值是“高”,那么应该selectbodycontent1 2)如果“D”列值是“中”,那么应该selectbodycontent2 3)如果“D”列值是“低”,那么应该selectbodycontent3 下面的代码只是为任何条件selectbodycontent1。 码: Option Explicit Public Sub Example() Dim olApp As Outlook.Application Dim olNs As Outlook.Namespace Dim Inbox As Outlook.MAPIFolder Dim Item As Variant Dim MsgFwd As MailItem Dim Items As Outlook.Items Dim Email As String Dim Email1 As String Dim ItemSubject As String Dim lngCount As Long Dim i As Long […]

从Excel发送Outlook电子邮件,将最后一行的范围文本放在主体消息中

我想从我的Excel电子表格发送一封电子邮件到一个包含A列到G列最后一行的范围内的小消息。 我试图添加我的最后一行范围到下面的代码没有成功。 你能帮我吗? Sub Mail_LastRowRange_Outlook() Dim OutApp As Object Dim OutMail As Object Dim strbody As String Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) strbody = "Thanks for your help" & '**I Would like to insert_ my last row range from column A to G in here** On Error Resume Next With OutMail .To […]