Gregory
Wed Jul 16 14:40:20 PDT 2008
Solly,
<But remember the KISS word (Keep It Simple Stupid)
????
Here is another old saw: Don't bite the hand that feeds you."
Seriously. The short coming with any attempt to achieve your goal with Word
is limited by the fact, as Jay pointed out, that if won't work if you don't
remember to start Word. My example was provided as an illustration to show
that it could be done using AutoExec, but as Gordon pointed out most of us
aren't committed to providing a fully functional application a) for free,
b) to someone that hasn't shown us what they have tried, or c) someone
calling us names.
The code I provided could be simplified greatly:
Sub autoexec()
Msgbox "Look at your calender and then start typing birthday letters to all
the people that you normally forget."
End Sub
It could also be made more functional by extracting the list of names and
dates from an external file and then populating fields in a dedicated
birthday letter template based on information from that file.
Regardless of which extreme you take both fail if the user doesn't start
Word.
I will be happy to assist you further if you wish. Just contact me via the
feedback link on my website.
"Solly" <Solly@discussions.microsoft.com> wrote in message
news:386266C6-F361-41AB-ACDE-36A79D0D5F2F@microsoft.com...
> bsd
>
> perhaps us ungeeks do have some good ideas which you geeks can use to make
> really useful templates for us ungeeks to use
> (in Word which most people i think still use) perhaps your dentist or
> carpet
> cleaner could use such a Word template too?
> But remember the KISS word (Keep It Simple Stupid)
>
> "Greg Maxey" wrote:
>
>> Well said. But as a whimsical exercise:
>>
>> Sub autoexec()
>> Dim myArray(5, 1) As Variant
>> Dim oDoc As Word.Document
>> Dim i As Long
>> For i = 0 To 5
>> myArray(i, 0) = Choose(i, "Mary", "Bill", "Bob", "Susie", "Sally",
>> "Fred")
>> myArray(i, 1) = Choose(i, "07/14", "07/18", "09/01", "10/13",
>> "03/19", "06/12")
>> Next i
>> For i = 0 To 5
>> If myArray(i, 1) Like Format(Date, "MM/dd") Then
>> Set oDoc = Documents.Add
>> With oDoc
>> .Range.Text = "Happy birthday to you, happy Birthday to you." _
>> & " happy birthday dear " & myArray(i, 0) & ",
>> happy birthday to you!!"
>> End With
>> End If
>> Next i
>> End Sub
>> On Jul 14, 9:04 pm, Gordon Bentley-Mix
>> <gordon(dot)bentleymix(at)gmail(dot)com> wrote:
>> > Solly,
>> >
>> > To paraphrase George W, I think you misunderestimate the complexity of
>> > the
>> > task. I suggest you start by trying to put together something yourself
>> > and if
>> > you get stuck then post back here. These forums are here to help to
>> > those who
>> > are willing to help themselves, but they're not a source for free
>> > services.
>> > All of the people who offer their assistance do so voluntarily and
>> > receive no
>> > compensation other than the gratitude of those they help - and
>> > sometimes a
>> > bit of reciprocity when they run into problems themselves. To ask
>> > someone to
>> > develop a complete solution for you - for free - is unfair, and the
>> > responses
>> > you have received are, IMHO, fitting.
>> >
>> > If you don't have the skills to at least make an attempt to solve the
>> > problem yourself then either hire someone to do it for you or accept
>> > Jay's
>> > recommendation to use a tool better suited to the job - such as
>> > Outlook, some
>> > sort of free or shareware utility or a paper calendar.
>> >
>> > If you do want to take a stab at it, here's what you will need:
>> >
>> > * A list of your friends' birthdays
>> > * A form letter of some sort - with or without additional automation
>> > to
>> > customise the letter
>> > * Sufficient understanding of VBA (and, by extension, Word) to write
>> > a
>> > macro that will look at the date list and generate a document using the
>> > form
>> > letter
>> >
>> > Jay has suggested an AutoExec macro, which of course has the limitation
>> > that
>> > it will run only when Word starts. I suppose this could also be done
>> > using
>> > some sort of "manually invoked" macro as well - e.g. click a button and
>> > the
>> > macro checks the date against the list and either generated the
>> > appropriate
>> > letter or (as a nice to have feature) displays a message telling you
>> > that
>> > there are no letters to print today.
>> >
>> > However, I still think you'd be better off using some sort of tool that
>> > offers a calendaring function natively...
>> > --
>> > Cheers!
>> > Gordon
>> >
>> > Uninvited email contact will be marked as SPAM and ignored. Please post
>> > all
>> > follow-ups to the newsgroup.
>> >
>> >
>> >
>> > "Solly" wrote:
>> > > i open word almost every day
>> > > i wolud like these letters
>> > > generate automatically
>> > > what's wrong with that?
>> >
>> > > "Jay Freedman" wrote:
>> >
>> > > > Solly wrote:
>> > > > > bsd
>> >
>> > > > > I would like to automatically generate a birthday greeting letter
>> > > > > in
>> > > > > word2000 to my friends a day before their birthdays wich I have a
>> > > > > tendecy to forget
>> >
>> > > > Word can't automatically start itself on particular dates. It would
>> > > > be
>> > > > possible to write an AutoExec macro to check the current date each
>> > > > time you
>> > > > start Word, to see if it's in a list of dates on which to print
>> > > > letters --
>> > > > but if you forgot to start Word on the proper day, then nothing
>> > > > would
>> > > > happen. And if you keep Word running all the time, then the
>> > > > AutoExec macro
>> > > > doesn't run after the initial startup. That doesn't seem to me to
>> > > > be a good
>> > > > scheme.
>> >
>> > > > Do you use Outlook? It has a calendar feature with reminders, all
>> > > > built in
>> > > > and ready to use. You can put in all your friends' birthdays, and
>> > > > have a
>> > > > reminder for each one pop up a few days ahead.
>> >
>> > > > If you don't use Outlook, check Google for free or low-cost
>> > > > calendar
>> > > > programs -- or just hang a paper calendar on the wall and enter all
>> > > > the
>> > > > birthdays on it.
>> >
>> > > > --
>> > > > Regards,
>> > > > Jay Freedman
>> > > > Microsoft Word MVP FAQ:
http://word.mvps.org
>> > > > Email cannot be acknowledged; please post all follow-ups to the
>> > > > newsgroup so
>> > > > all may benefit.- Hide quoted text -
>> >
>> > - Show quoted text -
>>
>>