ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Creating Outlook Appointment (https://www.excelbanter.com/excel-programming/373584-creating-outlook-appointment.html)

NewBike

Creating Outlook Appointment
 
Hi again -
I am trying to write a macro that when a button is clicked on a spreadsheet,
it will use the data entered on the new row to create an appointment in
Outlook...

The area that I am experiencing difficulty in is the appointment time,
duration and body text.

Here is my code:
Sub SetAppt()

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("L7").Value
.End = Range("L7").Value
.Subject = Range("I7").Value & Range("a7").Value & Range("d7").Value
.Body = Range("e7").Value
.ReminderSet = False
End With
Set Appt = Nothing
Set olApp = Nothing

End Sub

Any help is appreciated.

Steve Yandl

Creating Outlook Appointment
 
Here is an example of a sub that makes a set of appointments where start
times are in column A and location in Column B. I set a reference to the
Microsoft Outlook object library from 'Tools References'

Sub ScheduleAppts()
Dim ol As New Outlook.Application
Dim ns As Outlook.Namespace
Dim olFolder As Outlook.MAPIFolder
Dim appt As Outlook.AppointmentItem
Dim R As Integer
Dim X As Integer

R = Range("A65536").End(xlUp).Row

Set ns = ol.GetNamespace("MAPI")
Set olFolder = ns.GetDefaultFolder(olFolderCalendar)

For X = 1 To R
Set appt = olFolder.Items.Add
With appt
.Start = Sheets("Sheet1").Cells(X, 1).Value
.Location = Sheets("Sheet1").Cells(X, 2).Value
.Save
End With
Next X

Set ol = Nothing
Set ns = Nothing
Set appt = Nothing
End Sub


Steve
"NewBike" wrote in message
...
Hi again -
I am trying to write a macro that when a button is clicked on a
spreadsheet,
it will use the data entered on the new row to create an appointment in
Outlook...

The area that I am experiencing difficulty in is the appointment time,
duration and body text.

Here is my code:
Sub SetAppt()

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("L7").Value
.End = Range("L7").Value
.Subject = Range("I7").Value & Range("a7").Value &
Range("d7").Value
.Body = Range("e7").Value
.ReminderSet = False
End With
Set Appt = Nothing
Set olApp = Nothing

End Sub

Any help is appreciated.




Anthony D

Creating Outlook Appointment
 
Hi,

With start/end date of 24/09/2006 15:00 in L7 I found that this is fine
(with reference selected to MS Outlook Object library in Tools, References)

Try App.Display or App.Save after your End With statement ?

Anthony

"NewBike" wrote:

Hi again -
I am trying to write a macro that when a button is clicked on a spreadsheet,
it will use the data entered on the new row to create an appointment in
Outlook...

The area that I am experiencing difficulty in is the appointment time,
duration and body text.

Here is my code:
Sub SetAppt()

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("L7").Value
.End = Range("L7").Value
.Subject = Range("I7").Value & Range("a7").Value & Range("d7").Value
.Body = Range("e7").Value
.ReminderSet = False
End With
Set Appt = Nothing
Set olApp = Nothing

End Sub

Any help is appreciated.


Anthony D

Creating Outlook Appointment
 
Sorry, that should be Appt.Display or Appt.Save,
not App.Display or App.Save (my first post got 'lost'!)

Anthony

"Anthony D" wrote:

Hi,

With start/end date of 24/09/2006 15:00 in L7 I found that this is fine
(with reference selected to MS Outlook Object library in Tools, References)

Try App.Display or App.Save after your End With statement ?

Anthony

"NewBike" wrote:

Hi again -
I am trying to write a macro that when a button is clicked on a spreadsheet,
it will use the data entered on the new row to create an appointment in
Outlook...

The area that I am experiencing difficulty in is the appointment time,
duration and body text.

Here is my code:
Sub SetAppt()

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("L7").Value
.End = Range("L7").Value
.Subject = Range("I7").Value & Range("a7").Value & Range("d7").Value
.Body = Range("e7").Value
.ReminderSet = False
End With
Set Appt = Nothing
Set olApp = Nothing

End Sub

Any help is appreciated.


NewBike

Creating Outlook Appointment
 
Thanks,
I did have the .Save statement, just didn't in the portion I cut and pasted
here. I ended up changing my data some and it works now. My Date and Time
were in separate fields, now they in one cell it works.

Now I am trying to add the user name to the body text with:

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("K7").Value
.End = Range("K7").Value
.Subject = Range("H7").Value & "/ " & Range("A7").Value & " / " &
Range("D7").Value
.Body = "Contact: " & Range("e7").Value & vbNewLine & "Contact
Phone: " & Range("F7").Value & vbNewLine & "Notified: " & Range("G7").Value
& vbNewLine & "PO Verified & Entered by: " & Environ(Username)
.ReminderSet = False
.Save
End With

Set Appt = Nothing
Set olApp = Nothing


But I am getting an Invalid Procedure call (error 5)

Any ideas?

"Anthony D" wrote:

Hi,

With start/end date of 24/09/2006 15:00 in L7 I found that this is fine
(with reference selected to MS Outlook Object library in Tools, References)

Try App.Display or App.Save after your End With statement ?

Anthony

"NewBike" wrote:

Hi again -
I am trying to write a macro that when a button is clicked on a spreadsheet,
it will use the data entered on the new row to create an appointment in
Outlook...

The area that I am experiencing difficulty in is the appointment time,
duration and body text.

Here is my code:
Sub SetAppt()

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("L7").Value
.End = Range("L7").Value
.Subject = Range("I7").Value & Range("a7").Value & Range("d7").Value
.Body = Range("e7").Value
.ReminderSet = False
End With
Set Appt = Nothing
Set olApp = Nothing

End Sub

Any help is appreciated.


NewBike

Creating Outlook Appointment
 
Hi Steve -
Thanks for the response!!

Two questions though:
Can you explain what you are doing with the X and R commands and I see you
are setting the Mapi folder, to the default one, but how can I set it to a
Public folder? The folder I actually want the appointments in is like a 3rd
level Public folder (Public\Division1\Shipping Calendar).


"Steve Yandl" wrote:

Here is an example of a sub that makes a set of appointments where start
times are in column A and location in Column B. I set a reference to the
Microsoft Outlook object library from 'Tools References'

Sub ScheduleAppts()
Dim ol As New Outlook.Application
Dim ns As Outlook.Namespace
Dim olFolder As Outlook.MAPIFolder
Dim appt As Outlook.AppointmentItem
Dim R As Integer
Dim X As Integer

R = Range("A65536").End(xlUp).Row

Set ns = ol.GetNamespace("MAPI")
Set olFolder = ns.GetDefaultFolder(olFolderCalendar)

For X = 1 To R
Set appt = olFolder.Items.Add
With appt
.Start = Sheets("Sheet1").Cells(X, 1).Value
.Location = Sheets("Sheet1").Cells(X, 2).Value
.Save
End With
Next X

Set ol = Nothing
Set ns = Nothing
Set appt = Nothing
End Sub


Steve
"NewBike" wrote in message
...
Hi again -
I am trying to write a macro that when a button is clicked on a
spreadsheet,
it will use the data entered on the new row to create an appointment in
Outlook...

The area that I am experiencing difficulty in is the appointment time,
duration and body text.

Here is my code:
Sub SetAppt()

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("L7").Value
.End = Range("L7").Value
.Subject = Range("I7").Value & Range("a7").Value &
Range("d7").Value
.Body = Range("e7").Value
.ReminderSet = False
End With
Set Appt = Nothing
Set olApp = Nothing

End Sub

Any help is appreciated.





Anthony D

Creating Outlook Appointment
 
Hi,
Thanks for your feedback.
Just a minor modification in the Environ call required,
to supply username as a string.
Environ("Username")

Hth
Anthony


"NewBike" wrote:

Thanks,
I did have the .Save statement, just didn't in the portion I cut and pasted
here. I ended up changing my data some and it works now. My Date and Time
were in separate fields, now they in one cell it works.

Now I am trying to add the user name to the body text with:

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("K7").Value
.End = Range("K7").Value
.Subject = Range("H7").Value & "/ " & Range("A7").Value & " / " &
Range("D7").Value
.Body = "Contact: " & Range("e7").Value & vbNewLine & "Contact
Phone: " & Range("F7").Value & vbNewLine & "Notified: " & Range("G7").Value
& vbNewLine & "PO Verified & Entered by: " & Environ(Username)
.ReminderSet = False
.Save
End With

Set Appt = Nothing
Set olApp = Nothing


But I am getting an Invalid Procedure call (error 5)

Any ideas?

"Anthony D" wrote:

Hi,

With start/end date of 24/09/2006 15:00 in L7 I found that this is fine
(with reference selected to MS Outlook Object library in Tools, References)

Try App.Display or App.Save after your End With statement ?

Anthony

"NewBike" wrote:

Hi again -
I am trying to write a macro that when a button is clicked on a spreadsheet,
it will use the data entered on the new row to create an appointment in
Outlook...

The area that I am experiencing difficulty in is the appointment time,
duration and body text.

Here is my code:
Sub SetAppt()

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("L7").Value
.End = Range("L7").Value
.Subject = Range("I7").Value & Range("a7").Value & Range("d7").Value
.Body = Range("e7").Value
.ReminderSet = False
End With
Set Appt = Nothing
Set olApp = Nothing

End Sub

Any help is appreciated.


NewBike

Creating Outlook Appointment
 
so just add a

set username as string

statement?

"Anthony D" wrote:

Hi,
Thanks for your feedback.
Just a minor modification in the Environ call required,
to supply username as a string.
Environ("Username")

Hth
Anthony


"NewBike" wrote:

Thanks,
I did have the .Save statement, just didn't in the portion I cut and pasted
here. I ended up changing my data some and it works now. My Date and Time
were in separate fields, now they in one cell it works.

Now I am trying to add the user name to the body text with:

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("K7").Value
.End = Range("K7").Value
.Subject = Range("H7").Value & "/ " & Range("A7").Value & " / " &
Range("D7").Value
.Body = "Contact: " & Range("e7").Value & vbNewLine & "Contact
Phone: " & Range("F7").Value & vbNewLine & "Notified: " & Range("G7").Value
& vbNewLine & "PO Verified & Entered by: " & Environ(Username)
.ReminderSet = False
.Save
End With

Set Appt = Nothing
Set olApp = Nothing


But I am getting an Invalid Procedure call (error 5)

Any ideas?

"Anthony D" wrote:

Hi,

With start/end date of 24/09/2006 15:00 in L7 I found that this is fine
(with reference selected to MS Outlook Object library in Tools, References)

Try App.Display or App.Save after your End With statement ?

Anthony

"NewBike" wrote:

Hi again -
I am trying to write a macro that when a button is clicked on a spreadsheet,
it will use the data entered on the new row to create an appointment in
Outlook...

The area that I am experiencing difficulty in is the appointment time,
duration and body text.

Here is my code:
Sub SetAppt()

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("L7").Value
.End = Range("L7").Value
.Subject = Range("I7").Value & Range("a7").Value & Range("d7").Value
.Body = Range("e7").Value
.ReminderSet = False
End With
Set Appt = Nothing
Set olApp = Nothing

End Sub

Any help is appreciated.


Anthony D

Creating Outlook Appointment
 
Indeed yes.

Dim username As String
username = "Username"

and

Environ(username)

or

Environ("Username")

both work fine.

Anthony


NewBike wrote:
so just add a

set username as string

statement?

"Anthony D" wrote:

Hi,
Thanks for your feedback.
Just a minor modification in the Environ call required,
to supply username as a string.
Environ("Username")

Hth
Anthony


"NewBike" wrote:

Thanks,
I did have the .Save statement, just didn't in the portion I cut and pasted
here. I ended up changing my data some and it works now. My Date and Time
were in separate fields, now they in one cell it works.

Now I am trying to add the user name to the body text with:

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("K7").Value
.End = Range("K7").Value
.Subject = Range("H7").Value & "/ " & Range("A7").Value & " / " &
Range("D7").Value
.Body = "Contact: " & Range("e7").Value & vbNewLine & "Contact
Phone: " & Range("F7").Value & vbNewLine & "Notified: " & Range("G7").Value
& vbNewLine & "PO Verified & Entered by: " & Environ(Username)
.ReminderSet = False
.Save
End With

Set Appt = Nothing
Set olApp = Nothing


But I am getting an Invalid Procedure call (error 5)

Any ideas?

"Anthony D" wrote:

Hi,

With start/end date of 24/09/2006 15:00 in L7 I found that this is fine
(with reference selected to MS Outlook Object library in Tools, References)

Try App.Display or App.Save after your End With statement ?

Anthony

"NewBike" wrote:

Hi again -
I am trying to write a macro that when a button is clicked on a spreadsheet,
it will use the data entered on the new row to create an appointment in
Outlook...

The area that I am experiencing difficulty in is the appointment time,
duration and body text.

Here is my code:
Sub SetAppt()

Dim olApp As Outlook.Application
Dim Appt As Outlook.AppointmentItem

Set olApp = CreateObject("Outlook.Application")
Set Appt = olApp.CreateItem(olAppointmentItem)

With Appt
.Start = Range("L7").Value
.End = Range("L7").Value
.Subject = Range("I7").Value & Range("a7").Value & Range("d7").Value
.Body = Range("e7").Value
.ReminderSet = False
End With
Set Appt = Nothing
Set olApp = Nothing

End Sub

Any help is appreciated.




All times are GMT +1. The time now is 09:16 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com