PC Review


Reply
Thread Tools Rate Thread

How can I replace Outlook 2003 default Reminder form?

 
 
=?Utf-8?B?QmlsbCBNb2xvbnk=?=
Guest
Posts: n/a
 
      15th Jul 2005
I would like to replace the Outlook 2003 default Reminder form. I have always
hated it's rather simplistic combo box approach with such limited choices of
times that a reminder can be set to re-display.

I want to replace Outlook's default Reminder form with a graphical interface
form that allows picking from a more compact and easier to use YY MM DD HH MM
SS set of dials. I have created such a form that works perfectly in Access.
But of course, Access' form creation and handling is not easily available
within Outlook.

I have replaced other Outlook forms before such as Contact and Message forms
so I am basically familiar with some of the hoops I have to jump through to
create custom forms and change the Registry to set them as new default forms.
It has been a while so I may be a bit dusty on those procedures. But it seems
to me that the Reminder form wasn't among those forms that use that type of
procedure.

I have many years of faily extensive experience programming in VB and VBA so
a programming solution is no real obstacle. I use Office 2003 Pro with all
the latest upgrades and fixes. I also have and use often a number of other
Office related apps such as Front Page and Publisher. In most of these I have
developed some fairly extensive programming solutions.

If anyone has any ideas about where I can go to get a start in the right
direction, I would certainly appreciate it!
 
Reply With Quote
 
 
 
 
Ken Slovak - [MVP - Outlook]
Guest
Posts: n/a
 
      15th Jul 2005
The form displayed by Outlook for reminders is not an Outlook "item" form
like a contact or email form. There is no access to what Outlook is
displaying and how. You would have to disable the default reminders service
and create your own entirely from scratch to be able to display the form you
want to display.

You can see an example of this by going to
http://www.slovaktech.com/remindermanager.htm.

I completely replaced Outlook's reminders with a custom reminders mechanism
and disabled the native reminders mechanism to be able to do that. Much of
what I did was undocumented and I had to reverse engineer things and account
for the differences in handling things with different versions of Outlook.
It took about 2 years of research and testing before everything was working.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"Bill Molony" <(E-Mail Removed)> wrote in message
news:48225756-ECE1-4DB8-88A8-(E-Mail Removed)...
>I would like to replace the Outlook 2003 default Reminder form. I have
>always
> hated it's rather simplistic combo box approach with such limited choices
> of
> times that a reminder can be set to re-display.
>
> I want to replace Outlook's default Reminder form with a graphical
> interface
> form that allows picking from a more compact and easier to use YY MM DD HH
> MM
> SS set of dials. I have created such a form that works perfectly in
> Access.
> But of course, Access' form creation and handling is not easily available
> within Outlook.
>
> I have replaced other Outlook forms before such as Contact and Message
> forms
> so I am basically familiar with some of the hoops I have to jump through
> to
> create custom forms and change the Registry to set them as new default
> forms.
> It has been a while so I may be a bit dusty on those procedures. But it
> seems
> to me that the Reminder form wasn't among those forms that use that type
> of
> procedure.
>
> I have many years of faily extensive experience programming in VB and VBA
> so
> a programming solution is no real obstacle. I use Office 2003 Pro with all
> the latest upgrades and fixes. I also have and use often a number of other
> Office related apps such as Front Page and Publisher. In most of these I
> have
> developed some fairly extensive programming solutions.
>
> If anyone has any ideas about where I can go to get a start in the right
> direction, I would certainly appreciate it!


 
Reply With Quote
 
=?Utf-8?B?QmlsbCBNb2xvbnk=?=
Guest
Posts: n/a
 
      15th Jul 2005
Hi Ken,

Thanks for the response!!! I reviewed your Reminder Manager. Seems like an
excellent application with lots of nice bells and whistles. But unfortunately
that does not do what I am looking for.

What I would like to see is actually a much simpler solution. I just want an
easier way to reset the reminder's date and time to pop up without having to
use the simplistic combo box provided on the default reminder pop up form. I
already had a pretty good idea the default Reminder form itself was going to
be hard coded and inaccessible. So I also knew that whatever I came up with
would almost certainly have to be a replacement for it.

But since I first posted this request I have done a bit more experimenting
with the way Reminders are handled in Outlook. For one thing, in the
"ThisOutlookSession" built-in standard module, I found that the sub procedure
"Sub Application_Reminder()" which is automatically called before the
reminder is even displayed.

That gives me a hook that will allow me to programmatically access the
Reminders' related Appointment Item. Having access to that allows me to
change the reminder's item's start field's date/time. Experimentation
confirmed that changing ".Start" to a future date/time will automatically
cancel the reminder even before it appears. So I am sure that is the
beginning point for my solution. But I can already see that method is going
to be a rather crude way of handling it. I really don't want to change the
Appointment Item itself if at all possible--even programatically.

What I really need is a way to access the reminder itself. Some further
experimentation led me to the following generalized code:
Dim OutlookApp As Outlook.Application
Dim OLRemindersALL As Outlook.Reminders
Dim i As Integer
Set OutlookApp = New Outlook.Application
Set OLRemindersALL = OutlookApp.Reminders
For i = OLRemindersALL.Count To 1 Step -1
With OLRemindersALL(i).Item
Debug.Print i; .Start; OLRemindersALL(i).Caption
....

That allowed me to list all reminders both visible (current) and invisible
(future). But what I haven't yet discovered is how to change the reminder's
parameters directly without changing the related Appointment Item.

How do I change the Reminder's date/time without changing the Item's .Start
value. If I could change that programatically before the Reminder appears,
then the reminder would automatically change from visible to invisible with a
new future reminder date/time. I believe that is going to be one part of the
solution.

For the other half of the solution, I have also done some work with creating
a form to use as a replacement for the Reminder form. I used a default
Appointment form as a base and marked all of the standard pages as hidden.

Then on the one blank page I marked as visible, I created user defined
fields to capture user input for the future reminder date/time--field names
like MM, DD, YYYY, HH, MM, AMPM. I intend to build some code to capture key
strokes in those fields and maybe use the "+" and "-" keys to allow the user
to increment/decrement the value in these fields. Once an "Ok" command button
is pressed to save the values, I would contatenate the field values to build
a date/time and use that to change the Reminder date/time. So I feel that
will probably be the other half of the solution.

I am only guessing at this point that I will be able to combine all that
together to get the final result I want. If you have any ideas along this
line--or possibly more importantly, defnitive reasons why this won't work--I
would most certainly appreciate it.

Bill Molony
 
Reply With Quote
 
Ken Slovak - [MVP - Outlook]
Guest
Posts: n/a
 
      18th Jul 2005
Reminder.Snooze is one method you can try for changing the reminder time and
not an appointment start time. You can also sink the
Reminders.BeforeReminderShow event and set the Cancel argument to True to
cancel display of a reminder.

The Reminder item itself is actually the item with the reminder. So any
changes you make to it will be in the original item. For some types of items
you can set the reminder time directly (MailItem.FlagDueBy,
TaskItem.ReminderTime). For other types of items FlagDueBy is not available
in the Outlook object model (appointments and contacts). For those items
you'd have to use CDO 1.21 or Extended MAPI (C++ or Delphi only) or
Redemption (www.dimastr.com/redemption) to get at that property. That's what
needs to be changed to change the reminder time without changing the actual
start time.

Recurring items are another thing to watch for. Changing the reminder time
of a recurring appointment (or its start time) will create an Exception in
the Exceptions collection of the recurring appointment. You have to make
sure you get the actual current recurrence and not the master appointment.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"Bill Molony" <(E-Mail Removed)> wrote in message
news:B4828BC4-66BE-4CEE-84D2-(E-Mail Removed)...
> Hi Ken,
>
> Thanks for the response!!! I reviewed your Reminder Manager. Seems like an
> excellent application with lots of nice bells and whistles. But
> unfortunately
> that does not do what I am looking for.
>
> What I would like to see is actually a much simpler solution. I just want
> an
> easier way to reset the reminder's date and time to pop up without having
> to
> use the simplistic combo box provided on the default reminder pop up form.
> I
> already had a pretty good idea the default Reminder form itself was going
> to
> be hard coded and inaccessible. So I also knew that whatever I came up
> with
> would almost certainly have to be a replacement for it.
>
> But since I first posted this request I have done a bit more experimenting
> with the way Reminders are handled in Outlook. For one thing, in the
> "ThisOutlookSession" built-in standard module, I found that the sub
> procedure
> "Sub Application_Reminder()" which is automatically called before the
> reminder is even displayed.
>
> That gives me a hook that will allow me to programmatically access the
> Reminders' related Appointment Item. Having access to that allows me to
> change the reminder's item's start field's date/time. Experimentation
> confirmed that changing ".Start" to a future date/time will automatically
> cancel the reminder even before it appears. So I am sure that is the
> beginning point for my solution. But I can already see that method is
> going
> to be a rather crude way of handling it. I really don't want to change the
> Appointment Item itself if at all possible--even programatically.
>
> What I really need is a way to access the reminder itself. Some further
> experimentation led me to the following generalized code:
> Dim OutlookApp As Outlook.Application
> Dim OLRemindersALL As Outlook.Reminders
> Dim i As Integer
> Set OutlookApp = New Outlook.Application
> Set OLRemindersALL = OutlookApp.Reminders
> For i = OLRemindersALL.Count To 1 Step -1
> With OLRemindersALL(i).Item
> Debug.Print i; .Start; OLRemindersALL(i).Caption
> ....
>
> That allowed me to list all reminders both visible (current) and invisible
> (future). But what I haven't yet discovered is how to change the
> reminder's
> parameters directly without changing the related Appointment Item.
>
> How do I change the Reminder's date/time without changing the Item's
> .Start
> value. If I could change that programatically before the Reminder appears,
> then the reminder would automatically change from visible to invisible
> with a
> new future reminder date/time. I believe that is going to be one part of
> the
> solution.
>
> For the other half of the solution, I have also done some work with
> creating
> a form to use as a replacement for the Reminder form. I used a default
> Appointment form as a base and marked all of the standard pages as hidden.
>
> Then on the one blank page I marked as visible, I created user defined
> fields to capture user input for the future reminder date/time--field
> names
> like MM, DD, YYYY, HH, MM, AMPM. I intend to build some code to capture
> key
> strokes in those fields and maybe use the "+" and "-" keys to allow the
> user
> to increment/decrement the value in these fields. Once an "Ok" command
> button
> is pressed to save the values, I would contatenate the field values to
> build
> a date/time and use that to change the Reminder date/time. So I feel that
> will probably be the other half of the solution.
>
> I am only guessing at this point that I will be able to combine all that
> together to get the final result I want. If you have any ideas along this
> line--or possibly more importantly, defnitive reasons why this won't
> work--I
> would most certainly appreciate it.
>
> Bill Molony


 
Reply With Quote
 
=?Utf-8?B?QmlsbCBNb2xvbnk=?=
Guest
Posts: n/a
 
      18th Jul 2005
Hi Ken,

WOW! Thanks MUCH. I belive that was exactly what I was looking for. I would
NEVER have thought about Reminder.Snooze as being the amount of time to
Snooze. Obviously, I had not looked at that one close enough. I looked at it
briefly but just passed over it and decided that it was like the Snooze
button--something to be pressed, a command with maybe a True/False or
something.

And obviously the .BeforeReminderShow event with it's Cancel argument would
be a necessary part of it too. I had not yet gotten far enough to investigate
that one. Both of those are obviously critical parts of my solution.

But right now I am still stuck on creating a form that will be suitable.
Outlook's form creation tools are far short of the capabilities of Access. I
have a clear idea of what I want but as of yet I have not been able to get an
Outlook form to work like I need it to. Very frustrating!

But again, thanks so VERY much for those pointers !

Bill
 
Reply With Quote
 
Ken Slovak - [MVP - Outlook]
Guest
Posts: n/a
 
      19th Jul 2005
You're welcome.

Why an Outlook form at all? They are funky, use VBScript code and don't have
a decent code editor. Why not use a different type of form? If you are using
VBA code you can use a VBA UserForm. If VB 6 you could use a standard VB
form, if .NET code a Windows form, etc.

I often do that and only use Outlook forms in my code where I have to.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"Bill Molony" <(E-Mail Removed)> wrote in message
news:094A32EF-CA82-4A41-BFFC-(E-Mail Removed)...
> Hi Ken,
>
> WOW! Thanks MUCH. I belive that was exactly what I was looking for. I
> would
> NEVER have thought about Reminder.Snooze as being the amount of time to
> Snooze. Obviously, I had not looked at that one close enough. I looked at
> it
> briefly but just passed over it and decided that it was like the Snooze
> button--something to be pressed, a command with maybe a True/False or
> something.
>
> And obviously the .BeforeReminderShow event with it's Cancel argument
> would
> be a necessary part of it too. I had not yet gotten far enough to
> investigate
> that one. Both of those are obviously critical parts of my solution.
>
> But right now I am still stuck on creating a form that will be suitable.
> Outlook's form creation tools are far short of the capabilities of Access.
> I
> have a clear idea of what I want but as of yet I have not been able to get
> an
> Outlook form to work like I need it to. Very frustrating!
>
> But again, thanks so VERY much for those pointers !
>
> Bill


 
Reply With Quote
 
=?Utf-8?B?QmlsbCBNb2xvbnk=?=
Guest
Posts: n/a
 
      19th Jul 2005
Hi Ken,

You have OPENED MY EYES to a brand new world. Even though I have been doing
VBA programming in Outlook, Access, etc. for many years, this is the first
time anyone has pointed me towards VBA UserForms! I had no idea they even
existed. Thank you, thank you, thank you!

I will be a good bit of experimenting with that over the next few days to
see where I can take this. It appears at first browse to be exactly what I
needed.

Be well,
Bill

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Change the default appointment form in outlook's calendar reminder =?Utf-8?B?bWFya3ltYXJAYmVsbHNvdXRoLm5ldA==?= Microsoft Outlook Discussion 2 3rd Jul 2006 09:56 PM
Change the default appointment form in outlook's calendar reminder =?Utf-8?B?bWFya3ltYXJAYmVsbHNvdXRoLm5ldA==?= Microsoft Outlook Discussion 0 3rd Jul 2006 09:36 PM
How can I replace Outlook 2003 default Reminder form? =?Utf-8?B?QmlsbCBNb2xvbnk=?= Microsoft Outlook Form Programming 0 15th Jul 2005 12:44 AM
Outlook 2003 Calendar reminder default? Jack Slater Microsoft Outlook 4 6th Sep 2004 03:17 AM
Outlook 2003 Default Reminder Time Tim Scott Microsoft Outlook Calendar 1 19th May 2004 11:14 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 04:52 AM.