Recurring multiple emails

Is it possible, without add-ins, to create a folder in Outlook called MyDailyReports that will hold ## emails. Then setup a reminder/task/trigger where they are send daily at a specific time?

Thanks for any suggestions or solutions.
dgd1212Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

David LeeCommented:
Hi, dgd1212.

"Then setup a reminder/task/trigger where they are send daily at a specific time?"

Where what is send daily at a specific time?  Do you mean you want to send the contents of the "MyDailyReports" folder?  If so, then that is possible with a simple bit of scripting which you can trigger from a Windows Task manager task.  Something like the script below.  The script sends all the messages in the MyDailyReports folder whenever it runs.  The task will control that.

To use this

1.  Open Notepad
2.  Copy the script and paste it into Notepad
3.  Edit the script as needed.  I included a comment where an edit is necessary
4.  Save the file.  Name it anything you like just make sure the file has a .vbs extension
5.  Launch Windows Task Scheduler and create a new task
6.  Set the task to run at whatever time you want on whatever schedule you want
7.  Set the task to run this script

'--> Declare some variables
Dim olkApp, olkSes, olkFld, olkMsg, intCnt

'--> Connect to Outlook
Set olkApp = CreateObject("Outlook.Application")
Set olkSes = olkApp.GetNamespace("MAPI")
olkSes.Logon olkApp.DefaultProfileName

'--Process the contents of the MyDailyReports folder
Set olkFld = OpenOutlookFolder("MyDailyReports")  '<-- Edit the path to the folder
For intCnt = olkFld.items.count To 1 Step -1
	Set olkMsg = olkFld.Items(intCnt)
	olkMsg.Send
Next

'--> Disconnect from Outlook
olkSes.Logoff
Set olkMsg = Nothing
Set olkFld = Nothing
Set olkSes = Nothing
Set olkApp = Nothing

'--> End the script
WScript.Quit


Function OpenOutlookFolder(strFolderPath)
    Dim arrFolders, varFolder, bolBeyondRoot
    On Error Resume Next
    If strFolderPath = "" Then
        Set OpenOutlookFolder = Nothing
    Else
        Do While Left(strFolderPath, 1) = "\"
            strFolderPath = Right(strFolderPath, Len(strFolderPath) - 1)
        Loop
        arrFolders = Split(strFolderPath, "\")
        For Each varFolder In arrFolders
            Select Case bolBeyondRoot
                Case False
                    Set OpenOutlookFolder = olkSes.Folders(varFolder)
                    bolBeyondRoot = True
                Case True
                    Set OpenOutlookFolder = OpenOutlookFolder.Folders(varFolder)
            End Select
            If Err.Number <> 0 Then
                Set OpenOutlookFolder = Nothing
                Exit For
            End If
        Next
    End If
    On Error GoTo 0
End Function

Open in new window

dgd1212Author Commented:
This appears to work. Sent emails out of MyDailyReports folder. Upon sending the folder is now empty. is there a way that the reports do not get deleted? That they get resent day-after-day till I manually remove.
Thanks
David LeeCommented:
Yes, that's possible.  Use this version.

'--> Declare some variables
Dim olkApp, olkSes, olkFld, olkMsg, olkCpy, intCnt

'--> Connect to Outlook
Set olkApp = CreateObject("Outlook.Application")
Set olkSes = olkApp.GetNamespace("MAPI")
olkSes.Logon olkApp.DefaultProfileName

'--Process the contents of the MyDailyReports folder
Set olkFld = OpenOutlookFolder("MyDailyReports")  '<-- Edit the path to the folder
For intCnt = olkFld.items.count To 1 Step -1
	Set olkMsg = olkFld.Items(intCnt)
        Set olkCpy = olkMsg.Copy
	olkCpy.Send
Next

'--> Disconnect from Outlook
olkSes.Logoff
Set olkCpy =Nothing
Set olkMsg = Nothing
Set olkFld = Nothing
Set olkSes = Nothing
Set olkApp = Nothing

'--> End the script
WScript.Quit


Function OpenOutlookFolder(strFolderPath)
    Dim arrFolders, varFolder, bolBeyondRoot
    On Error Resume Next
    If strFolderPath = "" Then
        Set OpenOutlookFolder = Nothing
    Else
        Do While Left(strFolderPath, 1) = "\"
            strFolderPath = Right(strFolderPath, Len(strFolderPath) - 1)
        Loop
        arrFolders = Split(strFolderPath, "\")
        For Each varFolder In arrFolders
            Select Case bolBeyondRoot
                Case False
                    Set OpenOutlookFolder = olkSes.Folders(varFolder)
                    bolBeyondRoot = True
                Case True
                    Set OpenOutlookFolder = OpenOutlookFolder.Folders(varFolder)
            End Select
            If Err.Number <> 0 Then
                Set OpenOutlookFolder = Nothing
                Exit For
            End If
        Next
    End If
    On Error GoTo 0
End Function

Open in new window

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
dgd1212Author Commented:
A++
Works perfectly! Many thanks for your assistance.
David LeeCommented:
You're welcome!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Outlook

From novice to tech pro — start learning today.