Modules & VBA :: Update Subject Of Emails In Outlook That Have Already Been Received
Jul 22, 2014
I'm trying to automate some processes. My company uses Outlook 2010 and every day we need to go into our "Sent" folder and rename the Subject line of all of our sent emails. We change the subject to a standardized format depending on the content of the email and who the email was sent to. These are then used as part of an equation to tally our Transactions Per Hour. (TPH)
I've already designed a small Access 2010 utility to track the TPH, but I would like to add the functionality to parse some data from the subject lines of my "Sent" folder, and automatically make changes to save some time.
Here is my thought process:
- Click "Process Sent Emails" button from TPH utility.
- Access runs through each email in the "Sent" folder (or perhaps only selected emails) and changes the Subject line per simple Select Case criteria (I can figure that part out).
I'm trying to write a line of VBA code (in an existing Access 2010 DB) that changes the Subject Line of all selected emails in my Outlook Inbox to today's date.
I am trying to capture a newly arrived mail in outlook with respective subject line. The below code works for me on 2010 outlook but when new mail arrive in outlook 2013 ,Mrthod Items_ItemAdd do not get called.
Code:
Option Explicit Private WithEvents Items As Outlook.Items Private Sub Application_Startup() Dim olApp As Outlook.Application Dim objNS As Outlook.NameSpace Set olApp = Outlook.Application Set objNS = olApp.GetNamespace("MAPI") ' (1) default Inbox
Using Access 2010; I have code that generates multiple emails to send using outlook. It works fine except that all emails go to my draft folder and I have to go the outlook and send them individually. This is fine when I have under 10 emails; but sometime it can get up to 50 or even 100 emails. What I have to do to send them from my draft all at once. The emails go to draft to inspect for errors.
I need to write a vba code that tells me number of unread and incoming emails in an inbox in outlook. I managed to link to inbox in outlook, but all I need now is to write the code to give me:
a) number of unread emails b) fill some of unread emails details (like name, from) in a listbo
I need to retrieve the count of emails in a shared exchange mailbox in Outlook 2010. I found the following software that retrieves the count I need, but only in default folders or ones that are 1 layer deep. The folder I need is two layers deep Mailbox -> Inbox -> Completed. Is there anyway to drill down just one more level?
Const olFolderInbox = 6 Set objOutlook = CreateObject("Outlook.Application") Set objNamespace = objOutlook.GetNamespace("MAPI") Set objInbox = objNamespace.GetDefaultFolder(olFolderInbox)
My department handles all two-way email communication with our customers. We have 8 different email addresses that we use depending on the customer service issue. I'm looking for a way to continuously collect 3 pieces of data from every email that is received: 1) Date Received, 2) Time Received, and 3) To Field (which of the 8 email addresses it was sent to).
As you can imagine the collection of this data to look for trends to assist with staffing needs, as well as analyze build reports for the company to review. I've been working with my IT department on this but they are not sure where to start. My guess is that I need to have them collect the data as it is coming into the email server, right? I'm good with VB and I've built some VBA scripts recently that collect Outlook information, but these only work if the computer I'm using stays on all the time which is not always practical. We'd like to have this database stored on one of our shared drives which collects this data indefinitely from our email server.
ID Date Person Title Yes/No Action 001 20/4 Mr A Consultant 001 20/4 Mr B Supervisor 001 20/4 Mr C Consultant 004 20/4 Mr D Consultant 010 20/4 Mr E Consultant 010 20/4 Mr F Supervisor
What I'm looking for is coding that would start with the first ID number in CONTACTS and see if there is the corresponding ID in DATA. If there is, then I want it to create an Outlook email and have:
1.To field populated with the email address in the CONTACTS table
2.From and CC fields to be my email address
3.The subject line needs to read [ID] "Request" and then today's date backward (e.g. 20150420).
4.The body I need to put some generic wording and then a table with the records from the DATA table (first 5 fields plus the headings).
5. The format of the table etc isn't important as long as it is a table format
If it's created the email I want it to go back to the DATA table and put "Email Created" in the Action column for those IDs.
I don't want the email to automatically send; I only want it to create a draft (as this data needs to be manually confirmed before sending).
If for example it gets to checking in DATA table for ID 002 (and as seen there's none there), I want it to skip creating the email and move on to the next ID.
In the end I would expect to see 3 draft emails open in Outlook ready to be sent, looking something like the below (just 001 below)?
From... my email To... Email1 CC... my email Subject: 001 Request 20150420
action the below:
ID Date Person Title Yes/No 001 20/4 Mr A Consultant 001 20/4 Mr B Supervisor 001 20/4 Mr C Consultant
And the DATA table look like this (if only 001 email was created):
ID Date Person Title Yes/No Action 001 20/4 Mr A Consultant Email created 001 20/4 Mr B Supervisor Email created 001 20/4 Mr C Consultant Email created 004 20/4 Mr D Consultant 010 20/4 Mr E Consultant 010 20/4 Mr F Supervisor
I will need to add more data to the CONTACTS table over time, also the DATA table will be different each day so I need the coding to accomodate for both of these possibilities.
I would like to import emails from outlook and I would need to select the fields which are required. It is importing some standard fields and the fields i would require is not part of that. ( For instance "Categories" field which is present in outlook)...
I have an Access database update process that is run from the Win7 scheduler. I have attempted to instantiate or reference Outlook and send an email indicating the status of the process.
Outlook fails for some reason, but it works fine interactively regardless of whether Outlook is running or not.
I'm wondering if there is anyway I could drag and drop an email from outlook into a field in access? we are currently taking the email and converting it to PDF, then adding it to an attachment field with the appropriate record it corresponds to.
I'd like to be able to simply have access and outlook open, and drag the email from my inbox right into access and store it in access, is this possible?
I've created a table that is linked to a folder named New within MS Outlook. I've created a form that will read the emails within the table, and manipulate the data into another table. After the manipulated data is inserted into the other table, I'd like to move the email from the New folder in Outlook to another folder named Pending within Outlook.
I have a contact form on our website which sends an email to the business dev team saying that the user has requested to be sent product sheets. The email contains the users name, email, phone number, and a few other fields. Is there a way I can send the details of these emails to my access database automatically?
I've setup a selection form that returns a specific list of email addresses in a query.
What I can't work out is how to press a button and have the email addresses populate the To: field in a blank Outlook email - I don't need any bells or whistles.
I'm trying to add items received to my inventory table. If the item is already in the table, I just want to update the number and cost etc. If the item is not in the inventory table I want to add it. My problem is determining which item in the source table is already in the target table so I can either update of add. how to find an item number in target table by looping through the source table?
Here's the code I've written which doesn't work.
Dim I As Integer Dim db As Database Dim rs As Recordset Dim rs2 As Recordset Set rs = Nothing Set rs2 = Nothing Set db = CurrentDb
I have a script that sends a mail using outlook to a different person depending on a value in a field. I want to add values from fields to the subject and body of the mail it creates. This is what I have so far:
Function Mail() On Error GoTo Mail_Err If (Forms![Manage Packages]![Customer] = "MSC") Then DoCmd.SendObject , "", "", "email", "email", "", "[ID] - [Package Name] - Delivered", "Dear," & vbNewLine
[Code] .....
In the subject and body the field ID's I want to add are marked as [ID], [Package name] etc.
There are so many threads on here for emailing a PDF version of a report. I've put together a nearly complete bit of VBA that will do what I want - except for one thing.
Basically I have a personnel table with an email field. I Also have a field that details if a person is available or not ("Home" means they are available)
I need to create a string that is comprised of all the email addresses of the personnel who are "Home". In another thread I read that this can be done using a SQL statement.
So this is the VBA that I have so far - I commented the SQL for now because I don't quite know how to use it here.
Also, I have created the string, called "emailsList"
Code: Private Sub Email_Button_Click() 'SELECT Personnel_Table.Email FROM Personnel_Table WHERE (((Personnel_Table.Status)="Home")); Dim emailsList As String DoCmd.SendObject acReport, "AWACT_Report", acFormatPDF, emailsList, , , "Training Update", "Attached is the newest Training Report.", True End Sub
I have the following code in a module that sends out various email updates to me when I'm off site. On my PC it works perfectly whether I have Outlook open or not. I've installed the database on several other machines, but I'm getting a Run Rime Error 287 on the .Send line if the user has Outlook closed. Any setting somewhere in Outlook or Access that needs changing? Or is there something that can be changed in the code to ensure the email sends whether Outlook is open or not?
Code: Public Sub SendEmailNotification(strSubject as String, strMessage as String, strAddress as String) Dim olEmailApp As Object Dim olMsg As Object Dim strEmailBody As String Set olEmailApp = CreateObject("Outlook.Application") Set olMsg = olEmailApp.CreateItem(0)
I would like to have Access launch an Outlook email with a specific font (Arial). How could that be accomplished?
Here's my code:
Private Sub cmdEmailAO_Click() On Error Resume Next Dim OApp As Object, OMail As Object, signature As String, Email As String, FirstName As String Set OApp = CreateObject("Outlook.Application") Set OMail = OApp.CreateItem(0)
I am trying to send emails using CDO to an array of recipients loaded from a query. I have made this work using Lotus Notes so i know the first part of my code is correct, and the current code I have works when I input an actual email address. But when I try to add the Array name into the 'To' field I get a data mismatch error.
I found the below link that looks great and works.
[URL] ....
Te only thing is that I don't have much control over it and would like to build something similar as we also need to work with access 2003 (still )Any way to find how the code works (if there is some of it hidden in access)?
I have some code that takes from a query, an email address and sends out an email.Due the security warning that happens for each individual email, i want to create ONE email for all email address in the query and populate them to the BCC section of the sendobject.Here is the code that I currently use
Code: Private Sub cmdSendEmail_Click() Dim MyDB As DAO.Database Dim rsEmail As DAO.Recordset Dim sToName As String Dim sSubject As String Dim sMessageBody As String
[code]...
I want to populate the BCC field with multiple emails addresses seperated by ":" and send just one email.
In an Access 2007 module, is there a way of sending an email to a list of people stored as a list in a table in the database, rather than having to put all the names into the function?
I have a function I'm using to generate and send out an email to certain people, but the list is constantly growing so I'm looking for a better way to manage it! The main issue is having to kick users out of the database every time I need to update the recipients list... because it's stored in the code.
If I create a simple table containing all the names, how could I then ask it to use that instead?
This is the function I'm using currently - found on here and adapted to my own purposes
Syntax to use for the function: SendNotesMail "recipients", "Body Message", "Additional Text", "Subject"
Code: Public Function SendNotesMail(strSendTo As String, strBody As String, strExtraText As String, strSubject As String) 'This public sub will send a mail and attachment if neccessary to the recipient including the body text and additional comments from the Active record DoCmd.OutputTo acOutputReport, "REP09emailnotification", acFormatRTF, "x: endersgroup tendering databaseTenderUpdate.rtf", False Dim Subject As String Dim Attachment As String
[Code] ....
So I guess my question is: how do I get my recipients from a table into the strsendto?