Solved

Lotus notes Send Email

Posted on 2010-11-17
7
498 Views
Last Modified: 2013-12-18
Hi,

I have attached a spreadsheet.

I have code to send an email from lotus notes in Module two.

I would like the email to be automatically sent when either of two events happens

(1) IF N68 (CA Checklist) = "Send Email" at 12.00, then Send Email
(2) IF N69 (CA Checklist) = "Send Email" at 18.00, then Send Email

I put some code in Sheet1 (CA Checklist) for the recipitant and subject.

The password for the project is "protectprocess"

Any suggestions would be great!

Thanks
Seamus
CA-Checlistxlsv1.zip
0
Comment
Question by:Seamus2626
  • 3
  • 3
7 Comments
 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 34156711
For how to send mails from Excel, see http://www.fabalou.com/VBandVBA/lotusnotesmail.asp or search Google using
      excel vba send mail "lotus notes"
to get a shipload of suggestions.
0
 

Author Comment

by:Seamus2626
ID: 34157297

I have tried to code myself

If you look at the two new subs in  CA Checklist and then Module 3.

Everytime i try to run these nothing happens?

protectprocess is password

Thanks
Seamus
CA-Checlistxlsv1.zip
0
 
LVL 22

Expert Comment

by:Bill-Hanson
ID: 34157344
As far as I know, you can't schedule code to run in Excel, so sending email at specific times from within the spreadsheet probably won't work.  Most events occur when someone changes something.  For this to work, you just add a function named Worksheet_Change to your worksheet code.  The [Target] parameter tells you what was changed.

    Private Sub Worksheet_Change(ByVal Target As Range)

If you need to send email at specific times, you'll need to use a scheduler to trigger your code, but I don't think you can do this from VBA within the spreadsheet since you'd have to open the spreadsheet in order to trigger the macro.  My suggestion is to switch to a compiled executable which uses COM to do the same thing.  Then call the exe from your scheduler.
0
Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

 

Author Comment

by:Seamus2626
ID: 34157473

Hi Bill,

I was thinking the same regarding the time. The worksheet would need to be constantly refreshed.

What is a compiled executable which uses COM?

Thanks
Seamus
0
 
LVL 22

Expert Comment

by:Bill-Hanson
ID: 34157478
I looked at your code, and the main problem is where you call Mail_Sheet_Outlook_Body.  When I run the code, I get an exception with this message 'Argument not optional' on that line.

You have Mail_Sheet_Outlook_Body defined in Module3 as...

   Sub Mail_Sheet_Outlook_Body(Total As String, P1 As String, P2 As String, Spec As String, P4 As String, P5 As String, Student As String)

... which means that you need to pass in all parameters when you call it.

Also, you are not comparing times correctly.  Here's how I would write this part of the Worksheet_Change function...
Private Sub Worksheet_Change(ByVal Target As Range)
 If Time < CDate("12:00 PM") Then Exit Sub
 If Intersect(Target, Range("n68")) Is Nothing Then Exit Sub
 If LCase(Target) = "Send Email" Then Call Mail_Sheet_Outlook_Body("Total", "P1", "P2", "Spec", "P4", "P5", "Student")
End Sub

Open in new window

0
 
LVL 22

Accepted Solution

by:
Bill-Hanson earned 500 total points
ID: 34157582
RE: "What is a compiled executable which uses COM?"

MS Office exposes the entire VBA API as a COM interface.  This is just fancy talk that means you can code VBA from just about any Windows development environment (like Visual Studio .Net).

Since you're used to VBA, I would create a Visual Basic project and add a COM reference to the "MS Office XX Object Library" where XX is the MS Office API version you have installed on your machine.  Then in your code, you just use the reference to control the application.  This is how most applications interact with other programs under Windows.
0
 

Author Closing Comment

by:Seamus2626
ID: 34157631
Thanks Bill,

I think i will leave this task off as it is a little over my head at the moment.

im more advanced excel than vba!!

Thanks Again
Seamus
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

IBM Notes offer Encryption feature using which the user can secure its NSF emails or entire database easily. In this section we will discuss about the process to Encrypt Incoming and Outgoing Mails in depth.
This code takes an Excel list of URL’s and adds a header titled “URL List”. It then searches through all URL’s in column “A”, looking for duplicates. When a duplicate is found, it is moved to the top of the list. The duplicate URL’s are then highlig…
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question