Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将日期范围内的数据从outlook导出到excel_Excel_Date_Outlook_Export_Subject - Fatal编程技术网

将日期范围内的数据从outlook导出到excel

将日期范围内的数据从outlook导出到excel,excel,date,outlook,export,subject,Excel,Date,Outlook,Export,Subject,我在一些其他来源的帮助下修改并编写了下面的代码,使其正常工作,但由于outlook收件箱/文件夹中的电子邮件数量太多,完成此操作将花费太多时间。。。任何建议都将不胜感激 Option Explicit Dim n As Long Sub Get_data() Dim olApp As Outlook.Application Dim olNS As Outlook.Namespace Dim olFolder As Outlook.MAPIFolder

我在一些其他来源的帮助下修改并编写了下面的代码,使其正常工作,但由于outlook收件箱/文件夹中的电子邮件数量太多,完成此操作将花费太多时间。。。任何建议都将不胜感激

Option Explicit
Dim n As Long

Sub Get_data()
     
    Dim olApp As Outlook.Application
    Dim olNS As Outlook.Namespace
    Dim olFolder As Outlook.MAPIFolder
    Dim Date1 As Date
    Dim date2 As Date
    
    Date1 = InputBox("enter start date in dd/mm/yyyy fomat", "dd/mm/yyyy")
    date2 = InputBox("enter end date in dd/mm/yyyy fomat", "dd/mm/yyyy")
    
    Set olApp = Outlook.Application
    Set olNS = olApp.GetNamespace("MAPI")
    Set olFolder = olNS.PickFolder
    
      
     n = 2
    Call Get_Emails(olFolder, Date1, date2)
     
    Set olNS = Nothing
    Set olFolder = Nothing
    Set olApp = Nothing
    Set olNS = Nothing
End Sub

Sub Get_Emails(olfdStart As Outlook.MAPIFolder, Date1, date2)
    Dim olFolder As Outlook.MAPIFolder
    Dim olObject As Object
    Dim olMail As Outlook.MailItem
             
    For Each olObject In olfdStart.Items
        
               
        If TypeName(olObject) = "MailItem" Then
            
            If olObject.ReceivedTime >= Date1 And olObject.ReceivedTime <= date2 Then
                n = n + 1
                Set olMail = olObject
                
                'Sender email id
                Cells(n, 1) = olMail.SenderName
                
                'Email id
                Cells(n, 2) = olMail.Subject
                
                'Received Date
                Cells(n, 3) = Int(olMail.ReceivedTime)
                
                'Category
                Cells(n, 5) = olMail.Categories
                
                              
            End If
        End If
    Next
    Set olMail = Nothing
    Set olFolder = Nothing
    Set olObject = Nothing
           
End Sub
选项显式
长
子获取_数据()
Dim olApp作为Outlook.Application
将OLN设置为Outlook.Namespace
将文件夹设置为Outlook.MAPIFolder
Dim Date1作为日期
Dim date2作为日期
Date1=输入框(“在dd/mm/yyyy fomat中输入开始日期”,“dd/mm/yyyy”)
date2=输入框(“在dd/mm/yyyy fomat中输入结束日期”,“dd/mm/yyyy”)
设置olApp=Outlook.Application
Set olNS=olApp.GetNamespace(“MAPI”)
设置olFolder=olNS.PickFolder
n=2
呼叫获取电子邮件(文件夹,日期1,日期2)
设置olNS=Nothing
设置olFolder=Nothing
设置olApp=Nothing
设置olNS=Nothing
端接头
子获取电子邮件(olfdStart作为Outlook.MAPI文件夹,日期1,日期2)
将文件夹设置为Outlook.MAPIFolder
作为对象的Dim对象
以Outlook.MailItem的形式发送邮件
对于olfdStart.Items中的每个olObject
如果TypeName(olObject)=“MailItem”,则

如果olObject.ReceivedTime>=Date1,并且olObject.ReceivedTime只是为了添加到这个。。我尝试使用''''olobject.sort''Receivedtime',True'',但得到运行时错误91“对象变量或未设置块变量”