如何使用R RDCOMClient检索Outlook邮件项目?

时间:2015-09-01 14:22:18

标签: r vba email outlook rdcomclient

我一直在使用R&R的RDCOMClient软件包来处理Excel文件,这是一个非常有用的帮助。

现在我正在冒险使用Outlook并学会了如何发送邮件 using the thread here

但是,我想使用R&R的RDCOMClient从我的收件箱中检索邮件。

通常,我们可以将VBA代码转换为与RDCOMClient一起使用,但在某些情况下我使用正确的语法会遇到问题。

即。何时使用Object [[" example"]]或Object $ example()访问对象的成员;以及如何制作像Object $ example(test $())之类的东西 工作

更具体地说,我如何从MSDN on retrieving mail using VBA转换以下代码?

    Dim outlookNameSpace As Outlook.NameSpace
Dim inbox As Outlook.MAPIFolder
Dim WithEvents items As Outlook.Items

Private Sub ThisAddIn_Startup() Handles Me.Startup

    outlookNameSpace = Me.Application.GetNamespace("MAPI")
    inbox = _
        outlookNameSpace.GetDefaultFolder( _
        Outlook.OlDefaultFolders.olFolderInbox)
    items = inbox.Items

End Sub 

Private Sub Items_ItemAdd(ByVal item As Object) Handles items.ItemAdd
    Dim filter As String = "USED CARS" 
    If TypeOf (item) Is Outlook.MailItem Then 
        Dim mail As Outlook.MailItem = item
        If mail.MessageClass = "IPM.Note" And _
 mail.Subject.ToUpper.Contains(filter.ToUpper) Then
            mail.Move(outlookNameSpace.GetDefaultFolder( _
                Outlook.OlDefaultFolders.olFolderJunk))
        End If 
    End If 

End Sub

这里我在R中做了一些尝试:

OL = COMCreate("Outlook.Application")
outlookNameSpace = OL$GetNameSpace("MAPI")

有遵循VBA代码中提供的逻辑的想法。但是,我遇到了上面提到的问题,其中访问成员和方法的语法不容易翻译。

    subpath = OL$OlDefaultFolders()$olFolderInbox()
##Or something like
    subpath = OL$DefaultFolders()
    subpath2 = subpath$olFolderInbox()

最终,我的问题(以及其他人可能提出的问题)可以通过将MSDN示例从VBA直接转换为R或者指向综合教程的链接来实现。

记录中我已阅读this great tutorial on RDCOMClient

我感谢你能给我的任何帮助,我认为这个主题对于一般的VBA来说是一个很棒的启动板 - > RDCOM的想法

0 个答案:

没有答案