You are on page 1of 84

TechTrax September, 2003 Screen Reader Version

This document is the Word document version of this month’s issue of TechTrax Ezine. TechTrax is a free,
online technical support magazine which can be found, in it’s original format, on the Internet at:
www.mousetrax.com/techtrax/.

This document version is compiled each month from the original online magazine to allow screen reader users
easier access to the information and to provide a more portable version that can be read offline. Note that the
hyperlinks in this document, when activated, will take you to the appropriate information on the web. However,
be sure you are connected to the Internet before you activate any hyperlink.

This version of TechTrax has had all images removed to make it easier for screen reader users. Sighted readers
may wish to use the individual article Title hyperlinks to navigate back to the web to view article images in the
online version.

If you received this document from a friend and wish to sign up for your own version, or need to unsubscribe a
particular email, see www.mousetrax.com/techtrax/ for both options. I hope you find this version useful.

Dian D. Chapman
mailto:dian@mousetrax.com
Editor, TechTrax Ezine
TechTrax Ezine is brought to you by MouseTrax.com and is courtesy of the many talented writers who share their talents with you!

The hyperlinks below can be used to easily take you back to these information areas in the online version of TechTrax.

Home | Archives | Authors | Links | About | Associates | Training | Library | Consultants | Feedback

What you’ll find in this issue:

Recent Feedback
Bill Coan Sounds Off About Office 2003
Web Design With Microsoft Office Publisher 2003—What To Expect
Microsoft Excel Charting FAQs
Sound Across Slides
Autoshapes
Microsoft Project: Lesson 5—Working With Resources
Creating Test Forms in Word
Automating MapPoint with Perl
Adding a Dropdown Menu To a Web Page
Everything You Need to Know About Response.Redirect
As the Worm Turns...Your Computer into a Zombie
Autoplay MP3 CDs
Customize Your Windows XP Login Logo
AOL: You’ve Come A Long Way, Baby! (Shopping)

Welcome to the September, 2003 Issue of TechTrax

We're baack!
(You just knew I was gonna say that, right?)
For those of you in this hemisphere, I hope you enjoyed your summer. I can't believe it's nearly over! Seems like only
yesterday I was pulling my hair out in frustration thinking about all the things I had to do this summer, while trying to
handle all the sudden, urgent requests that were piling up for my time. There was clearly a need for a mental health break!
TechTrax became one of the victims of the chaos, as it was put on hold until we were able to get the world back on its
axis.

For now, <knock, knock, knock>, life at this end seems to be back on track (the kids have moved out<evil snicker>) so it's
time to get TechTrax back on track, too. But just because we weren't writing regular articles didn't mean we'd totally
forgotten about this Ezine. We were busy not only promoting the magazine, which has brought us over 600 new
subscribers in the last few months—but we were also busy convincing many wonderful new writers to contribute.
New Writers

Microsoft Publisher users will be thrilled to know that we've snagged Publisher MVP, David Bartosik. The new version of
Office (2003) will be available soon and David joins us this month with his article that provides you with some insight on
the new version of Publisher.

Road warriors who use Map Point to plot out their data or prepare for the next sales trip will be excited to know that Map
Point MVP, Eric Frost, has also come to our aid. Eric joins our TechTrax writing team this month with his Map Point
automation article.

One of the request we had in our TechTrax user survey was to provide more in-depth web development articles. Well,
how's this for satisfying that request? Adrian Forbes, ASP (Active Server Page) MVP, has joined TechTrax and he's
already provided me with a pile of terrific web development articles to cover us for the coming months! This month
Adrian's focus is on ASP's Request.Redirect command.

Other Improvements
No sir! We weren't just sitting around the pool all summer. We were busy! If you've taken a look at MouseTrax.com
(TechTrax's mothership) lately, you'll notice that it's been completely redesigned! But not only does it have a new look, it
also has a lot more, and readily available, helpful links to support resources, free tutorials, tech book
recommendations, training courses...including my new VBA video course...MVP support sites, and, of course,
Greg's terrific, free utilities!

And I'd like to personally thank all the great guys in the Yahoo ASP User Support group (Shawn Hall, Adrian Forbes, Ray
Costanzo (aka Ray at home/Ray at work<g>), Chris...et al) who provided me with fantastic support while I was working
out [read: beating my head against the walls] ASP/ADO/SQL issues while redesigning MouseTrax and a few other sites I
created over the summer. If you need help automating your web site, this forum is a terrific place to hang out!

TechTrax has also added a new column—The Soapbox! Now our writers have a place to step up and rant! But realize,
this column is not open only to regular TechTrax writers. If you, our readers, have personal comments you'd like to
convey, in a professional manner, to share either a gripe or kudo about some aspect of technology, you can submit your
article for consideration at TechTrax@MouseTrax.com. This month, Bill Coan, Word developer extraordinare, Microsoft
MVP and Office 2003 beta tester, passes along some of his opinions on Office 2003.
Yo Excel users! Don't miss Jon Peltier's incredible FAQ article on Excel. This article is not only a work of art, but contains
a wealth of info for you number geeks!

Other Issues
And speaking of Office 2003, it will be available in October. MSDN subscribers should be able to download it after the first
of the month. The official Launch will be held October 30, 2003. You can check out the Microsoft Events page for a city
near you that will be hosting a free launch event. (Check the October events—I'll be at the Chicago Launch.) We also
hope to have more details about the Launch and Office 2003 itself in the October issue of TechTrax.
Another big issue that's hit everyone lately, no pun intended, has been the rash of viruses and spoofs (virus email using
forged, legit addresses). Don't miss Greg Chapman's Internet article this month. As Senior System's Engineer,
responsible for thousands of PCs, users and servers, Greg was recently, again, force-fed more issues about viruses. His
article contains vital information to help keep you on the side of safe computing.

Welcome New Subscribers


And finally, before I let you loose to check out all the terrific articles we have for you this month, I just want to formally
welcome all our new subscribers, as well as welcome back all our previous, faithful subscribers, who have been patiently
awaiting this return issue.

Remember, our writers are volunteers who share their time, skills, talents and knowledge. So please honor them by not
swiping any of their articles without requesting their permission! And since many of our writers are consultants, if you
ever need to hire someone to help you with a project, who better than the pros here at TechTrax? You can click the
Consulting link above to find some of the brightest talent on the web—ready to help you get the job done!

And don't forget that you can find all our past issues or search for specific articles via the above Archives link, as well as
locate article series, code files, downloads and article updates in our Library.

I hope you enjoy this return issue. I know there's a lot to read here. But remember, there's a terrific little program you can
get that will help you get through all your daily reading, by reading it to you. See our previous My New Assistant article to
learn more about Text Aloud MP3. It's what I use to help me read/proof all this stuff!
Cheers!

Recent Feedback

by Dian Chapman, MVP


[IMAGE REMOVED]
While TechTrax was on hiatus for the summer of 2003, we also turned off the Reader's Feedback feature, since we
weren't readily available to answer your questions. However, now that we're back, you'll notice the Feedback option along
the top menu. If you have any questions or comments about any articles you find in TechTrax, you can use that menu
option to pass us your concerns. You can elect not to have your name used—in which case we'll still use your comments,
but will use them anonymously. Questions about specific articles are passed back to the authors to answer.
We turned the Feedback on again about a month ago, and comments immediately started to arrive. Below are those
we've accumulated to date.

Feedback
Keith writes...
Greg, I downloaded your code for Word Crayon and it works great for the majority of what I was looking for. I have an
instructor who has about 150 different words and phrases that he marks off for in our papers, so I use your code to check
my document and change the color of the text he doesn't want to see. Then I am able to easily go back and make
changes without constantly looking at a list of his words and comparing it to my paper.

One question I did have however...is there a way to make the code look for the whole word, and not just the letters. For
example, one of his words is the word "is". I have added this to the text file (ColorKeyWords.txt) as is=wdColorBlue.
However, when it goes through the document it finds any instance of "is" whether is just two letters in a larger word or the
whole word. I am wanting it to only look at the whole word and not color just the two letters inside of a larger word.
Is there anything I can do to modify your code so that it looks only at whole words? If not, that is fine, this is much better
than me combing the entire document myself. :)

Reply
Greg Chapman writes...

First, I'm sorry about the delay. I've been busy and I won't bore you with the details, but I will beg your
forgiveness!

Second, yes, there is a way to cause the coloring to affect only whole words instead of just pieces of the
word. In the ColorWords subroutine, add the MatchWholeWord property and set it to equal True in the
Execute method:

Sub ColorWords(ByVal strText As String, ByVal MyColor As Variant)


With ActiveDocument.Content.Find
.ClearFormatting
With .Replacement
.ClearFormatting
.Font.Color = MyColor
End With
.Execute FindText:=strText, ReplaceWith:=strText, _
Format:=True, Replace:=wdReplaceAll, MatchWholeWord:=True
End With
End Sub
You can simply replace your existing ColorWords subroutine with the above and you should then have
the solution. Thanks for your patience!
Greg Chapman
http://www.mousetrax.com

Reader's Reply

Greg,

No need for you to apologize, I am grateful that you would email me back at all, as I am
sure you get a lot of unsolicited emails.

Thank you for the information, that worked great, and will cut down on my work load even
more. I just ran it on a 25 page document and it highlighted all the 150+ words for me in
less than two minutes. This is a great time saver.

I told a coworker about it and she asked me to bring it in and install it on her machine so
she can run it against documents that she writes.

I also appreciate the fact that you have this stuff out there for free, keep up the excellent
work.

Keith

Feedback
Jeff Burke writes...
Jon,
Thanks very much for a great article in TechTrax [Scatter Chart or Line Chart?] . It was very timely for myself as I
embark on developing a chart portfolio for our project. Your efforts are much appreciated, and I look forward to your future
articles.
Best regards, Jeff Burke

Reply
Jon Peltier writes...

Thanks for the nice note. It's good to know that you found my article helpful. If you have a suggestion for
a future article, please let me know. Oh, and good luck with your chart portfolio.

- Jon
http://www.geocities.com/jonpeltier/
Feedback
Brian Barber from Ottawa, ON Canada, writes...
On this page, http://pubs.logicalexpressions.com/Pub0009/LPMArticle.asp?ID=146 [Formatting Cells in Excel article]
you mention that if you want to add text to the beginning of a custom number format, you simply need to add the desired
characters. The correct way to do is to add the desired characters in quotation marks or escape a single character with a
backslash.
Please check this out and let me know if I'm correct. I tried what you suggested on ExcelXP on Windows 2000. It wouldn't
work until I added the quotation marks.

Reply
Linda Johnson writes...

Hi Brian...I wish I could tell you why you need to add quotes in order for a custom number to add a
letter...I just tried it in Excel 2000, which is the only version I have access to while I'm on vacation...but it
worked just fine. I made the custom format A000# (just like my tutorial explains) and then I typed 12 into
that cell and it was changed to A012.

Like I said, I don't have access to Excel 2002 (XP) while I'm away from home, but I've done this hundreds
of times on various versions of Excel and I have NEVER had to use quotes. Good luck and take care.

Linda Johnson
http://personal-computer-tutor.com

Reader's reply

Wow, thanks for the quick response. I tried CPY00000000000# as a custom format and it
didn't work; "CPY"00000000000# worked just fine. Could it be that more than one
character requires quotes? Or perhaps my laptop is sitting in some kind of Excel
Bermuda Triangle. :)

Enjoy the rest of your vacation. Keep away from computers. They're not meant to be
used on holidays. :) Cheers, BB

Reply
Linda Johnson writes....

Hi again Brian. Excel is recognizing CPY as a function name and that's


why it requires the quotes. Excel won't let you use a function name in a
custom format unless you put it in quotes. To see what I mean, make a
custom format like BBG000# and you will see it works fine. Then try one
like SUM000# and you will see you get the error telling you the format is
invalid because SUM is a function name. However "SUM"000# works
just fine. Hope that explains it.

Linda
http://personal-computer-tutor.com

Reader's reply

Brilliant! I totally overlooked that CPY is a named


function. Time for a coffee. And for you to get back to
your vacation!!! You've taken too much time away from it
already. :) My profound thanks for taking the time to
straighten me out.

Have a restful time, BB

Feedback
David writes...
Thanks for some great info on your "Export Graphics from PowerPoint" page. I do have one question though that I'd be
grateful if you could help with: you say the "Magic DPI" for exporting from PPT97 is 96 if video is set to small fonts and
120 if video is set to large fonts. I've managed to export at 96, but am not quite sure how to switch my "video" between
small and large fonts. Could you help please? Also, is there any way of exporting at an even higher res?

Reply
Steve Rindsberg writes...

To change video resolution from small to large fonts, you right click the windows desktop, choose
properties, then adjust things on the Settings tab. The exact verbiage varies from one version of Windows
to another.

Note that this only works for PPT97. PPT2000 and later use 72dpi for exports, regardless of your video
settings.

Our Image Export PPTool makes all this a whole lot simpler, of course. ;-) And all for just thirty bucks.

Editor's Note! Also, if you need any additional help for this or any other PowerPoint or Microsoft
technology issues, know that you can find Steve and all the other MVPs providing free support, 24x7, in
the Microsoft Newsgroups, which you can access via: http://support.microsoft.com/newsgroups.

This article will provide you with additional information for accessing the MS newsgroups Get Help!
Feedback
Daniel E. Fall from St. Paul, MN, writes...
Great article on finding the display adaptor information. Recently, I did a hard drive replace/restore on a Dell PC and
neglected to find out the display adaptor info. Windows fell short and couldn't help. Used Debug and found out the card in
the machine. Thanks!

Reply
Dian Chapman writes...

Thanks so much for your comments, Daniel, I know Greg will be glad to hear that his article was valuable
to you! And we appreciate you taking the time to pass your words along. (I know Greg would wish to reply
directly, but both his parents had heart attacks within a week of each other, so he's flown off to Ohio.)

Feedback
Wendy writes...
hi...i teach IT in adult ed. i stumbled on the tech trax website and think its great. would it be possible to print/save and use
the information in my teaching sessions?

thanx, wendy

Reply
Dian Chapman writes...

Thank you for your kind comments. And thank you for checking on our copyrights. Unfortunately, each
article is not only copyrighted by TechTrax, but also by the Author who wrote the article. That means, first,
you would have to contact each author INDIVIDUALLY to request permission for each INDIVIDUAL
article.

However, we do say on our copyright page that you are allowed to use this information for your own
personal training and that you can write for permission to use our articles in non-profit
company/organizational training newsletters or company web information.

What you are involved in SEEMS to be a training class/course of some sort, which I'm assuming adults
have to pay to attend. In that case, the answer would be no. Although you are free to learn from the
information and then write up your own lessons using skills that you will have learned...making sure to
provide links to any SHORT quotes or referenced articles you might include...but you cannot, however,
copy the articles directly and use them in your training.

If I have misunderstood your circumstances and these classes are free, please enlighten me. However, it
would still stand that, even if TechTrax says yes, you would still have to contact and get written
permission from each author prior to any use of an article. The reason our copyrights are dual-owned is
because our writers are all volunteers. And because of that, they retain the rights to anything they care to
SHARE with the TechTrax readers.

Let me know if you are involved in some type of non-profit/community type training that is FREE to all who
attend, as that would at least change the TechTrax part of the answer to yes.

Reader's Reply

thanks for replying. i understand what you are saying and appreciate the work gone into
it.

I work in a computer training centre in an area of low waged/unemployed people. all the
courses we offer are free to everyone, whether working or not. i hope that makes a
difference.

thanks again, wendy

Reply
Dian Chapman writes...

As for TechTrax, then yes, that does make a difference. If you are using
the info to help folks for FREE and these folks probably don't have PCs
at home where they can look the information up themselves...then you
can repost any article, as long as you have the proper permission and
properly add the copyright information so readers know that the
information was not from you, but from TechTrax...with the proper links
and the articles must remain in full and complete.

However, as I also said, due to the dual copyrights...you'd also have to


email each author and ask their specific permission to use anything they
have written.

As for anything written specifically by me...Dian Chapman...yes, you now


have my permission to use any of *my* TechTrax articles for the purpose
of free training as you've stated. However, be sure each article is
complete and also add the following at the bottom of each of my articles:

===========
This article is reprinted with the permission of the author, Dian D.
Chapman, Technical Consultant & Microsoft MVP and is being used for
free training purposes. You can find further information about Dian as
well as many other free tutorials from her web site at
www.mousetrax.com.

This original article is reprinted with permission from TechTrax Ezine at


www.MouseTrax.com/TechTrax.
===========

Feedback
Sue Hartman from Washington, PA, writes...
Dian, I can't figure out how you have the time to assemble and deliver all this invaluable, free info to us and still make a
living. Your answers in the newsgroups are right on; the ezine is just the icing on the cake for me, another WP user who
came kicking and screaming over to Word. THANK YOU!!

Reply
Dian Chapman writes...

Well, being out of work helps!<g> After losing my job to the 9/11 economic backlash, I discovered I had a
lot more time on my hands. Know anyone who wants to hire a computer geek?<smileSend them to my
Consulting page. But don't worry, TechTrax will continue...it's become a huge labor of love!

Feedback
Alex writes...
Hello, Dian. I just came across your "Microsoft Word Shortcuts List" article in the Internet. I would like please to ask
how you have digitally signed the document MSWordShortcuts.doc (its macros) so that the user is asked to approve the
running of macros.

(I have a certificate published by Verisign and tried to use my digital signature on a macro but I can't see how this feature
works.)

Thank you. My regards, Alex

Reply
Dian Chapman writes...

Glad you found this article helpful, Alex. As for digital signatures, David Horowitz wrote a TechTrax
article that explains how to use digital signatures. See his TechTrax article: Using SelfCert to Create
Digital Certificates in a Network Environment.

Reader's Reply

Thank you, Dian. That was very helpful.


Feedback
Ron Bedgood from Lakeland, FL, writes...
Thanks for publishing a real tech site (unlike Comando's "hollywood" approach). Can you steer me in the direction of how
to search/destroy whatever continually writes to my HD.

Reply
Dian Chapman writes...

Thanks so much for the kind words, Ron! (And since I used to write for a tech mag with Kim Comando
also as a writer, those words are particularly appreciated!<evil grin>)

Not quite sure what you mean, Ron. But I'm guessing you mean the obnoxious indexing feature in Office
that continually attempts to presort files whenever you leave your system unattended...and then you have
to wrestle your mouse back from it!?!? Here's some basic info:

"When you install Office, a program called Find Fast is added to the Control Panel. When you start your
computer, the Office program located in the Startup folder automatically runs Find Fast. When Find Fast
runs, it creates a hidden index on each of the hard disk drives on your computer. These indexes contain
words, titles, and OLE properties for each file on that drive. The indexes help speed up finding and
opening files when you use the Advanced Find and Open commands in the Office programs."

See this article for further details and info about how to disable it (or just do what I do...and use the
custom install method and never install that sucker!)

How to Turn Off the Find Fast Indexer


http://support.microsoft.com/?scid=199787

Feedback
A reader writes...
I must admit to being a technical writer and an avid FrameMaker user, but sometimes I have to use Word, so I have a
couple of questions.

1. I am working on documents created by people who did not use styles correctly. I am faced with things like multiple
carrier returns to move to a new page, justified body text and mandated orders to put two spaces after every period.
Needless to say, styles are a mess! I am trying to clean them up, but I noticed that there are several variations on styles,
for example, "Body Text,char,char,char". What is happening here? It doesn't happen when I am using styles, but the other
writers insist it happens all the time with this version of Word. We are using Word XP.

2. What is the best reference book you could suggest for beginning and advanced Word users?
Reply
Dian Chapman writes...

I feel your pain! As an editor/designer for many years myself, I know EXACTLY what you are facing. Yes,
you'll have to run a lot of search and replace processes to remove double spaces and replace with
period/single space. Same with removing returns. If you check under the SPECIAL button on the
expanded Find/Replace dialog, you'll see ways to remove many of those items, such as ^p^p for double
para, etc.

As for the styles, well, since so many folks don't understand styles, yet Word is BASED on using styles, if
they just apply more formatting, the pseudo style tacks on the added formatting. That's how you end up
with *style, char, char, char*. That means they added 3 more types of formatting, but never *properly*
updated the style. Had they entered the style properly and modified the formatting, they would have
ended up with ONE style name, as you get. But since they didn't do that/or didn't know to do that,
properly...they're just piling more and more formatting onto the same style.

The first thing they need is a lesson in styles!<smile> You might want to point them to this page for some
basic info about the value of using styles:

Getting Started with Styles


www.mousetrax.com/styles.html

As for books, we have a page on MouseTrax where we list some of the best tech books available—ones
*we* use. See www.mousetrax.com/books.html. Good luck!

Reader's reply

Hi Dian, Thanks so much for your empathy <smile> and the links you suggested.
I will tell the folks I work with about them. Let's hope they look at them. :-)

Feedback
A reader writes...
I bought the application 3D-Album [as recommended in your 3D-Album article] and i am very fond of the software but the
images are flickering as if it was unrendered. I'm trying to figure it out, if you can e-mail me telling me what to do, it would
be greatly appreciated. Thank You

Reply
Dian Chapman writes...

Sorry, but I'm really not sure what might be the problem, other than the fact that you might not have
enough computer resources to do the job...or maybe your video driver needs to be upgraded.
I would suggest you read this article, Maintaining Your Computer at:
www.mousetrax.com/maintain.html to make sure your computer is in good running order. It'll also show
you how to check and update your video driver. If you get a new video driver (these are free from the
manufacturer's web sites) then give it another shot. It might help solve the problem.

Other than that...I'd have to suggest you check out the 3D support web site to see if they can offer you
any other suggestions. Good luck!

Bill Coan Sounds Off About Office 2003

by Bill Coan, MVP


[IMAGE REMOVED]
Office 2003, which will be release soon, is more than an evolutionary upgrade. No one will want to sit this one out
because Office 2003 has the power to transform everything you do.

Imagine this for starters: In Word 2003 you can write a training guide and then click a button and transform it into a
teacher-only guide. Click a different button and instantly transform it into a student-only guide. Click yet another button
and transform it into a learning exercise!

XML is what makes this possible. It is extremely exciting and I'm looking forward to the day when it takes over the world. I
don't think I'll have to wait long, either, because the benefits are so dramatic, so tangible,and so accessible.
There's another aspect to XML that is just as exciting: XML allows you to enforce rules for the data entered into a
document. Office 2003 supports this aspect of XML, too.

For example, you can specify that a fax number must appear at the top of each fax cover sheet and must always include
an area code. If a document violates this or any other rule, you can tell Word to refuse to print or save the document. If
preferred, you can tell Word to alert you when a rule is violated, but allow the document to be printed and saved, anyway.
The ability to enforce rules governing content and the ability to re-purpose documents at the click of a button will radically
change how we interact with documents and with each other.

This is a *very* exciting time to be a Word user.

Web Design With Microsoft Office Publisher 2003—What To Expect

by David Bartosik, MVP


[IMAGE REMOVED]
As a Microsoft Publisher MVP and Office 11 beta tester, I've had ample time to get to know all the changes that have
been made to the products web design functionality in this latest release. In this article I'll share some of these with you
along with some input on my experience.
Personally my favorite thing about this version is that the products Personal Info Dialog Box finally has an option to turn it
off. Through each version I have never used the Personal Info feature and that pop up dialog on each new publication has
always annoyed me. The dialog now has a check box so if you aren't planning to use the Personal Info feature and you
check that box you can launch your future new publications a little faster and with a few less mouse clicks.

I do have another favorite thing about this version and like that dialog this has been a Pet Peeve of mine through previous
versions. A feature that's been long over due and in fact has been present in Word for at least the prior two versions. That
new feature being Pixels as a measurement unit option. Pixel measurement provides the accuracy to achieve a more
professional look and feel in your layout and designs.

Of more significant importance this version corrects issues that were introduced with the 2002 version, such as variable
page lengths, hyperlinks in filled text boxes, and custom page naming.

Version 2003 introduces new templates that make it very easy to create a professional looking web site and new wizards
and visual cues that make web publications simpler and easier to understand.

This version introduces what MS has coined "Incremental Uploading". What that means in English is that the whole site no
longer has to be uploaded after modifying the web publication file. This feature when turned on keeps track of which
pages are modified in the publication file and only uploads those files.

Publisher achieves this through the use of XML. Which is one of the factors behind the larger web file size in this version
compared to previous versions.

The more code in a file the larger the file size. Here is a comparison:

Under v.2002 SP2, select Accent web template, Export as web page, result is :
index.htm (11 kb)
7 image files created equaling 26 kb total
total load size for home page is 37 kb (11 + 26)

Under v.2003, select Accent template, Publish to web, result is :


index.htm (41 kb)
12 image files created equaling a total of 40kb (extra files due to VML in 2003)
total load size for home page is 81 kb (41 + 40)

In testing Incremental Uploading I have been pleased with the results. It will definitely be a time saver for larger sites.
Technically you don't get the full benefits of it until after the third time the site is published.
An issue that was found during testing of this feature is that on some web servers the sites supporting folder (containing
all pages after the home page) is hidden, not visible when logged on to the server and viewing the contents. MS identified
this as being an issue with the web servers handling of xml files. The user can contact their web host about this
permissions issue or they can elect to not use the supporting folder option.

I've already pointed out the subject of file size. File size is the only down side I see with this version. In addition to what
I've already mentioned some other nice things are - a return to naming the home page to index.htm by default, more nav
bar placement options, separation of nav bar titles and page titles, and lots of pre-made topic pages.

I've published a sample site at this address— http://www.davidbartosik.com/2003samples/network_easy_web/


This sample site generated 114 files with a total file size of 2.2 MB. The index file (home page) is 112 kb. The site is
comprised of only 12 pages. You can CLICK HERE to view the file listing for the site. This listing also illustrates the new
default file naming convention of this version (yes they changed it again).

Those users with free web space and/or limited web space will most likely find that 2 MB for a 12 page site is an obstacle.
Business users implementing a site on a local intranet can be less concerned.

I welcome and encourage feedback on this sample site and the topics I've discussed here in the Microsoft Community.
CLICK HERE to visit the Community.

Whether you have an existing web site from Publisher or are considering creation of a web site with Publisher, you the
user will need to determine for yourself whether the enhancements of this latest version out weigh the down side of the
web page file size.

© 2003 David Bartosik. David is a Microsoft MVP for Publisher. Visit his Publisher web site at davidbartosik.com. David
is also the Editor of BARVIN, a motivational and self-improvement site. He invites you to visit at barvin.com.

Microsoft Excel Charting FAQs

by Jon Peltier, MVP


[IMAGE REMOVED]

• Chart Data
o Setting Up the Chart's Data
o Changing the Chart's Data
o Adding a Series to the Chart
o Charting Data from Different Worksheets or Workbooks
• Positioning, Sizing, and Aligning Embedded Charts
• Copying a Chart
o Copying an Embedded Chart
o Copying a Chart Sheet
o Exporting a Chart
• Naming a Chart
• Link Chart Text to Cell Text
• Chart Types
o Chart Types Not Available in Standard or Custom Types
(Make your own Combination Charts)
o Stacked-Clustered Column Chart
o Saving a User-Defined Chart Type
• Data Labels
o Using Text in Cells for Data Labels
o Hiding Labels that Show Zero Value
o Showing Label, Value, and Percent Together on a Pie Chart
• Hyperlink to a Chart
• Chart Axis Questions
o Log Scale Axes
o Secondary Axes
o Axis Tips and Tricks
• Gaps in Chart Series; Blanks Chart as Zero
• X Axis Plots Like the Numbers 1, 2, 3, not Like the Actual Values; Points Drop to Zero
• Data Tables
• Chart Colors
• Charting A Subset of the Data
o Filtering the Data (Screening According to Selection Criteria)
o Decimating the Data (Plotting Every Nth Point)
• Common Errors and Problems with Excel Charts
o No New Fonts May Be Applied in This Workbook
o Refreshing a PivotChart Removes Formatting
o 3D Charting Deficiencies
o Limitations of Shared Workbooks and Grouped Worksheets
• Links to Charting Resources

Setting Up the Chart's Data


The following data arrangement is appropriate for most charts you will make. Naturally, you don't have to use this strict
arrangement for your data. But when you deviate from this structure, you will have to do more work to make the chart
come out right. If you can maintain the "first row-first column-top left cell blank" scheme for each series, it will make your
charting efforts easier and more error-resistant.
The data range consists of four regions: the top left cell, the top row, the first column, and the bulk of the range. The top
left cell should be kept blank; its presence tells Excel that the first row and the first column are special. The top row of the
data range is used for the names of the series (the text entries in the legend); this is highlighted in green in the range
pictured below. The first column of the range contains the X values (or category labels) for all of the series in the chart;
this is highlighted in purple. Finally, the columns in the rest of the data range contain the Y values for each of the series;
this range is highlighted in blue.
[IMAGE REMOVED]
This arrangement assumes you are plotting the series by columns, which is my preferred option. If you are plotting by
rows, you still keep the top left cell blank, the first column contains the series names, and the first row contains the X data.
When the data is neatly arranged, select the range to be charted and run the Chart Wizard to make your chart. If a single
cell is selected, Excel will use the complete range of filled cells containing the active cell.

When you select a chart which is based on a simple data range like this, the data range is highlighted with the colors
shown in the image above. If the data range is more complicated, e.g., because series have unequal numbers of points or
series don't share their X data, it will not be highlighted. When you select a single series in the chart, its data range is
highlighted in the same colors.

back to top

Changing the Chart's Data


Colored Highlight
The easiest way to change the chart's data, if the chart is embedded in the same worksheet that contains the data, is to
select the chart, and drag the colored outlines that highlight the chart's data. Suppose our sample chart uses the data
highlighted in the range shown below:

[IMAGE REMOVED]

If you drag a colored outline by an edge, the outlined area will move to include a new range. Drag the blue or purple
outline downward to use points 2-6 or points 3-7 in the chart instead of points 1-5. Drag the blue or green outline to the
right to plot series Bart and Clara instead of series Alex and Bart.

If you drag the outline by the square in the bottom right corner, the outlined area will grow or shrink. Drag the blue or
purple square downward to add points to the existing series (or upward to remove points). Drag the blue or green square
to the right to add another column, that is, add a series, to the chart (or to the left to remove a series).

In this illustration the chart's entire data range is highlighted. If the chart's data range is more complex, for instance, if the
series have different X value ranges or different numbers of points, the chart's data range will not be highlighted. If you
select a single series, only the data range for the selected series is highlighted in this way.

Source Data
You can access the Source Data dialog from the chart menu, or from the context menu that pops up when you right click
on a chart. This is the same as the Source Data dialog which is Step 2 of the Chart Wizard. The Data Range tab has a
range selection box that allows you to select the entire data range for the chart. Click in the range selection box, then
select a range with the mouse. After clicking in the range selection box, you can select a data range from a different
worksheet using the chart tabs, or from a different workbook using the Windows menu.

Chart Series Formula


When a chart series is selected, the name of the series is shown in the Name Box (above cell A1) and the Series Formula
is displayed in the Formula Bar (to the right of the Name Box, above the column headers). In the figure below, I've used
blue text to highlight the series name in the Name Box and red text to highlight the series formula in the Formula Bar.

[IMAGE REMOVED]
The chart series formula for the selected series is:
=SERIES(Sheet1!$C$5,Sheet1!$B$6:$B$10,Sheet1!$C$6:$C$10,1)
This formula can be broken up into four elements as follows:
=SERIES([Series Name],[X Values],[Y Values],[Plot Order])

The [Series Name] can be blank, a text string in double quotation marks, a reference to a worksheet range (one or more
cells), or a reference to a named range (named formula). The [X Values] can be blank, a literal array of numeric values or
text labels enclosed in curly braces, a reference to a worksheet range (one or more cells), or a reference to a named
range (named formula). The [Y Values] can be a literal array of numeric values enclosed in curly braces, a reference to a
worksheet range (one or more cells), or a reference to a named range (named formula). The [Plot Order] can be a whole
number between 1 and the number of series in the chart.

You can edit the series formula directly. You can type any replacement text, or highlight one of the elements (including
sheet name and cell reference) and with the mouse select a different range for that element of the formula. You can select
a data range from a different worksheet using the chart tabs, or from a different workbook using the Windows menu.
Press the Enter key to implement your changes.

If a range reference refers to a range in another workbook, the workbook's name is surrounded by square brackets and is
placed in front of the worksheet name. If there is a space in the worksheet or workbook name, you must place the
worksheet and workbook names within single quotes.
back to top

Adding a Series to the Chart


Colored Highlight
You can add a series to the chart by selecting the chart, then stretching the highlighted ranges, expanding the chart's data
range as described in Changing the Chart's Data, above.

Source Data
Right click on the chart and choose Source Data from the pop up menu, then click on the Series tab. Click the Add button
under the list of series. Use the range selection boxes to tell Excel which data ranges to use for your new series.

Chart Series Formula


One easy way to add a series is to select an existing series, copy the text of the series formula from the Formula Bar,
press Enter or Esc to take the focus off the formula, select the chart area or plot area of the chart, click in the formula bar,
and paste. This adds a new series with the same formula as the copied series; edit the series formula to reference the
appropriate data range.

Select and Drag Worksheet Range


Select a worksheet range, and drag it onto the chart. Excel will add the data to the chart according to the settings
established by the existing series in the chart. This may or may not add the data the way you intend.

Copy and Paste Worksheet Range


Copy a worksheet range, select a chart, and paste. Excel will add the data to the chart according to the settings
established by the existing series in the chart. This may or may not add the data the way you intend.

To have more control over the process, copy the worksheet range, select your chart, and select Paste Special from the
Edit menu. You are presented with a form which lets you set your preferences for how to add the data to the chart.
back to top

Charting Data from Different Worksheets or Workbooks


Source Data
Select the chart and choose Source Data from the Chart menu, or right click on the chart and choose Source Data from
the pop up menu. Click in a range selection box in the Data Range tab or the Series tab, then select a data range from a
different worksheet using the chart tabs, or from a different workbook using the Windows menu.

Chart Series Formula


Select a series to edit the series formula directly. Type a different sheet name or preface the sheet name with a different
workbook name in square brackets. Alternatively, highlight one of the elements (including sheet name and cell reference)
and with the mouse select a different range for that element of the formula. You can select a data range from a different
worksheet using the chart tabs, or from a different workbook using the Windows menu. Press the Enter key to implement
your changes.

A series with data from different worksheets and workbooks might look like this:
=SERIES(Sheet1!$C$5,Sheet2!$B$6:$B$10,'[Book4.xls]Sheet 3'!$C$6:$C$10,1)

Note the square brackets around Book4.xls, the source of the Y Values, and the single quotes around the book and sheet
name, because the sheet name contains a space.
Copy and Paste Worksheet Range
Copy a worksheet range from any worksheet, switch to the chart and select it, and paste. Excel will add the data to the
chart according to the settings established by the existing series in the chart. This may or may not add the data the way
you intend.

To have more control over the process, copy the worksheet range, switch to your chart and select it, and select Paste
Special from the Edit menu. You are presented with a form which lets you set your preferences for how to add the data to
the chart.
back to top

Positioning, Sizing, and Aligning Embedded Charts


When moving a chart with the mouse, hold down the Shift key to constrain its movement to follow a vertical or horizontal
line. Hold down the Alt key to make the chart snap to the worksheet's cell boundaries. Hold down to Ctrl key to move a
copy of the chart.

When resizing a chart with the mouse, hold down the Alt key to snap the moving edges of the chart to the worksheet's cell
boundaries.

To align multiple charts, hold down the Alt key while moving each one, so they are aligned along the same rows and
columns. You can hold down the Shift key to select multiple charts, then from the Draw menu on the Drawing toolbar,
choose Align or Distribute to align the selected charts.

[IMAGE REMOVED]
back to top

Copying an Embedded Chart


To copy an embedded chart to another position on the same worksheet, hold down Ctrl while dragging the chart with the
mouse. Alternatively copy the chart, select a cell where you want the top left corner of the new chart to be, and paste.
To copy an embedded chart to another worksheet or workbook, copy the chart, activate the sheet where you want the top
left corner of the new chart to be, and paste. You can paste a chart object onto a worksheet or a chart sheet.

To copy an embedded chart for use in another application, select and copy the chart, switch to the other application, and
paste. For Office applications, there are a several options for the Paste operation:

• Paste: This pastes a visible copy of the chart, with a copy of the entire workbook behind it, to enable editing of the
data that the chart may use. Because the entire workbook is pasted into place, this adds greatly to the size of the
target file, and it risks unintentionally distributing sensitive data.
• Paste Special: This allows several options, including pasting an unlinked picture of the chart. This static picture
does not change if the source data in Excel changes.

• Paste Special - Link: This pastes a linked picture of the chart into the target Office file. The picture updates with
the source data in Excel, and the target file size is not bloated by inclusion of the entire source workbook.

To copy a static picture of a chart, hold down Shift while selecting Copy Picture from the Edit menu. I prefer the On
Screen and Picture options, which produce a vector drawing object when pasted (the pasted object contains all of the
drawing objects that comprise the chart); this picture scales uniformly when resized. The On Screen-Bitmap and As
Printed-Bitmap options result in a bitmap image being pasted; bitmaps become jagged when resized but are fine when
used actual size in a web page.

back to top
Copying a Chart Sheet
To move a chart sheet to another place in the same workbook, click on its sheet tab and drag it to the desired position. To
copy the chart sheet, hold down the Ctrl key while dragging it to its new position. You can right click on the sheet tab and
select Move or Copy from the pop up menu, and follow the dialog to move or copy the chart sheet.

To move or copy a chart sheet to another workbook, right click on the sheet tab and select Move or Copy from the pop up
menu, and follow the dialog to move or copy the chart sheet. The Move or Copy command is also available on the Edit
menu.

The Copy-Paste, Copy-Paste Picture, and Copy Picture-Paste procedures described for embedded chart objects above
are applicable for copying a chart sheet for use in another application.

back to top

Exporting a Chart
You can export a chart to an image file using VBA. The syntax you need is this:
Chart.Export [filename], [filter]
where [filename] is the path and file name of the chart image file, and [filter] is the filter for the file type. Among the
filters that will work are "GIF", "JPG", and "TIFF". This macro shows a working example:
Sub Create_GIF()
Dim mychart As Chart
Set mychart = ActiveSheet.ChartObjects(1).Chart
mychart.Export FileName:="c:\Mychart.gif", FilterName:="GIF"
End Sub
The best filter to use for exporting an Excel chart is "GIF", because it works well with line drawings: images that have
regions of uniform (unvarying) color, with sharp transitions between colors, and relatively few colors. Lines and Text look
good in GIF images. A lot of people think "JPG" should be better, but it is better suited to images like photographs, which
have gradual transitions in color intensity, hue, and brightness. Text and other sharp features come out poorly in JPG
images. Note: all of the images in this article are in GIF format.

John Walkenbach's Chart Tools (a free add-in downloadable from http://j-walk.com) includes a Chart Export utility.
back to top

Naming a Chart
Excel automatically assigns a name to every chart embedded in a worksheet. The default names are like "Chart 3" or
"Chart 17", according to the order in which they were created. VBA procedures often encounter problems because they do
not operate on the correct chart, because of uncertainties with the chart names.

Charts are actually referred to by the names of their parent chart objects. To rename a chart object, select a cell, then
hold Shift while selecting the chart. It is surrounded by white resizing handles. Type the new name in the Name Box
(above cell A1, to the left of the Formula Bar) and press Enter.

To rename the chart using VBA, select the chart and run the following macro:
Sub RenameChart()
ActiveChart.Parent.Name = "My Chart" ' Select an appropriate name
End Sub
To refer to the chart in VBA, use this syntax:
Sub ActivateNamedChart()
ActiveSheet.ChartObjects("My Chart").Activate
End Sub
back to top

Link Chart Text to Cell Text


You can link the text in chart elements to worksheet cells so that changing the worksheet text will change what is
displayed in the chart. This technique works for the Chart Title, Axis Titles, individual Data Labels, and partially works with
Text Boxes. Select the element so it is highlighted with a thick gray border. You need two clicks to select a data label: one
click to select all the labels for a series (even if there's just one), and the second to pick the one you want. With the
element highlighted, press the Equals key, click in the cell with your mouse, and press Enter. The text element shows the
text in the linked cell, while the Formula Bar shows the link, in the form of a formula, for example, =Sheet1!$A$1.

Text Boxes don't seem to work so nicely, at least not in my installation of Excel 2000. To create an unlinked Text Box,
select the chart area or plot area of a chart, type something, and press Enter. To create a linked Text Box, select the plot
area or chart area, press the Equals key, select a cell, and press Enter; the text in the selected cell is shown in the Text
Box, while the Formula Bar shows the link to the cell.
The link in a linked Text Box can be edited in the Formula Bar, to change the link. An unlinked Text Box cannot be made
to link to a cell. The process described above merely puts an equals sign into the text box. Selecting the Text Box, clicking
in the Formula Bar, then pressing Equals and selecting a cell, leaves the unlinked Text Box unchanged, and creates a
new linked Text Box. Apparently the working procedure is to delete the unlinked Text Box, and create a new linked Text
Box.

back to top

Chart Types Not Available in Standard or Custom Types


Make your own Combination Charts
Excel comes with a brief selection of "Built-In Custom" Chart Types. What if the chart type you envision isn't included? It is
an easy matter to make your own combination chart, using almost any combination of chart types Excel offers.

Bubble charts, and charts with 3D effects, cannot be used in combination charts. You can combine other types to get
interesting charts you would not have expected, given the options offered by Excel. For example, you can make a
Speedometer-type chart by combining the Donut and Scatter chart types.

The easiest way to make a combination chart is to create a chart of one type with all the data. Right-click a series which
you want to change to another type, choose Chart Type from the pop up menu, and select the chart type you want.
Repeat for other series that you want to change. You can add more series, then change their chart types in the same way.

back to top

Stacked-Clustered Column Chart


Through careful arrangement of the data in your worksheet, you can make a stacked column chart that looks like a
clustered-stacked column chart.
There is a tutorial showing this technique on Bernard Liengme's site:
- http://www.stfx.ca/people/bliengme/ExcelTips/Columns.htm
which is based on the example on Stephen Bullen's web site:
- http://www.bmsltd.co.uk/Excel/Default.htm
Go to Charting Examples, and download FunChart4.xls
The following MSKB article has an example:
XL2000: Creating Charts with Multiple Groups of Stacked Bars
- http://support.microsoft.com/default.aspx?scid=kb;en-ca;214119
back to top

Saving a User-Defined Chart Type


Excel comes with a brief selection of "Built-In Custom" Chart Types. But you've just created a wonderful custom chart, that
you want to be able use frequently, without having to format it from scratch. You can save the chart as a "User-Defined
Custom" chart type.
Start with your carefully customized chart. Right click on the chart, and pick Chart Type from the pop up menu (or choose
Chart Type from the Chart menu). Click on the Custom Types tab, click User-Defined at the bottom, then click the Add
button. Type a suitable name and description for this chart, then click Okay. If you want this to be the default chart type,
click the Set As Default Chart button at the bottom before pressing Okay again.

When making a new chart, you can choose this custom chart type in Step 1 of the Chart Wizard, or you can apply it to an
existing chart by selecting Chart Type from the Chart menu (or by right-clicking on the chart and choosing Chart Type
from the pop up menu).

In VBA, you would apply the user-defined chart type "MyChartType" to the active chart using this syntax:
ActiveChart.ApplyCustomType ChartType:=xlUserDefined, TypeName:="MyChartType"
back to top

Using Text in Cells for Data Labels


Excel lets you apply data labels to each point in a series, with options to use the Y values or the X labels in the data labels
(pie charts allow a few other options as well). You can manually change each label, but what if you want to use a range of
cells in your worksheet as data labels for your chart series? There are a couple useful and free Excel add-ins that can
automatically label data points, using labels in a worksheet range:

• Rob Bovey's Chart Labeler, http://appspro.com

• John Walkenbach's Chart Tools, http://j-walk.com

back to top

Hiding Labels that Show Zero Value


Data labels are useful, but they can clutter a chart, particularly if you have extraneous labels that show "0.00" or "0%" for
points that have zero value. You can manually delete these individual labels, but if the data changes, the new nonzero
values will not be labeled, and more zero labels may appear. A better solution is to use a custom number format that
doesn't display zero values. Double click the labels, select the Number tab, and click on Custom in the left-hand list. A
number format generally consists of four format options, separated by semicolons:

[format if positive];[format if negative];[format if zero];[format if text]

Define a custom format that provides no format for zeros to prevent their appearance, such as one of these:
0;;;
0%;;;
back to top
Showing Label, Value, and Percent Together on a Pie Chart
Excel lets you apply data labels to each wedge in a pie chart, with options to use the values, percents, labels, or labels
and percents. How can you get labels, values, and percents? There are a few approaches.

Normally I strongly suggest arranging your data as shown below left, with category labels (X values) in the leftmost
column, values (Y values) in one or more columns to the right, a blank cell above the labels, and a series name above
each value column. Select the entire range including the header row (A1:B6), run the chart wizard, choose a Pie Chart in
Step 1; click okay in Step 2; and in Step 3, on the Data Labels tab, select the Labels and Percent option. The chart's
labels are two rows high: top row label, bottom row percent, as shown below right. There is no apparently easy way to get
the values into the data labels.

A B

1 Series

2 AA 1

3 BB 2 [IMAGE REMOVED]

4 CC 3

5 DD 4

6 EE 5

One way to get labels, values, and percents into the data labels works when you put the labels to the right of the values,
as shown below, at left. Select just the values (range B1:B6 below), start the Chart Wizard, choose a Pie Chart in Step 1;
in Step 2 click on the Series tab, click in the Category Labels range selection box, and select the range of values and
labels (range B2:C6 below); and in Step 3, on the Data Labels tab, select the Labels and Percent option. The chart's
labels are three rows high: top row label, middle row value, bottom row percent, as shown below right. The legend
contains values and labels, in the confusing order of values before labels. With the data labels, the legend should
probably be removed since it's redundant.

A B C

1 Series

2 1AA

3 2BB [IMAGE REMOVED]

4 3CC

5 4DD

6 5EE

Another way to get labels, values, and percents into the data labels works when you insert a column between the labels
and the values, as shown below, at left. In the first data row of the new column (cell B2), enter a formula that
concatenates the label in column A with the value in column C; a formula like this works:
=A2&": "&C2
Drag the formula down to fill the range B2:B6. Select the concatenated labels and values (range B1:C6), start the Chart
Wizard, choose a Pie Chart in Step 1; click okay in Step 2; and in Step 3, on the Data Labels tab, select the Labels and
Percent option. The chart's labels are two rows high: top row label and value, bottom row percent, as shown below right.
The shorter labels allow a larger pie within the same size chart object than the first approach. The legend contains labels
and values, in the form concatenated for the data labels. As above, the legend should probably be removed since it's
redundant.

A B C

1 Series

2 AA AA: 1 1

3 BB BB: 2 2 [IMAGE REMOVED]

4 CC CC: 3 3

5 DD DD: 4 4

6 EE EE: 5 5

A third method to get anything you want into the data labels is to start with the original data arrangement, and add
formulas in column C to concatenate the labels, values, and computed percentages; a formula like this:
=A2&": "&B2&" ("&TEXT(B3/SUM(B$2:B$6),"0%")&")"

Select the labels and values (range A1:B6), create a Pie Chart, then use Rob Bovey's Chart Labeler,
http://appspro.com, or John Walkenbach's Chart Tools, http://j-walk.com, to apply the concatenated labels in C2:C6 to
the pie chart.

A B C

1 Series Data Labels

2 AA 1 AA: 1 (7%)

3 BB 2 BB: 2 (13%) [IMAGE REMOVED]

4 CC 3 CC: 3 (20%)

5 DD 4 DD: 4 (27%)

6 EE 5 EE: 5 (33%)

back to top

Hyperlink to a Chart
Hyperlink to an Embedded Chart
You can't hyperlink to a chart directly, but you can link to a cell on the worksheet in which the chart is embedded. Use the
cell under the top left corner of the chart, or the entire range under the chart.
Hyperlink to a Chart Sheet
You can't hyperlink to a chart directly, and a chart sheet has no underlying cells you can link to. You can fake it with a
Worksheet_SelectionChange event procedure, however. In this example, the hyperlink is in cell B2. Enter the name of the
chart sheet in cell B2, and format it with blue underlined text, so it looks like a real hyperlink. Right click on the sheet tab,
select View Code, and paste this macro into the code module that appears:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)


If Not Intersect(Target, Range("B2")) Is Nothing Then
On Error Resume Next
Charts(Target.Value).Activate
If Err.Number <> 0 Then
MsgBox "No such chart exists.", vbCritical, _
"Chart Not Found"
End If
On Error GoTo 0
End If
End Sub

When the user selects cell B2, the procedure is activated. The code jumps to the sheet with the name in the cell. If it can't
go to that sheet, it assumes it's because the sheet doesn't exist, and it alerts the user.
back to top

Log Scale Axes


Any value axis can be turned into a logarithmic scale axis. This includes any Y axis, and the X axis from an XY Scatter
chart. If you have a Line chart, you must convert it to an XY Scatter chart before changing the axis to logarithmic. Double
click on the axis, and click on the Scale tab. If it says Category Axis Scale under the tabs, you cannot convert the axis
without changing the chart type. If it says Value Axis Scale just under the tabs, you will also see a Logarithmic Scale
checkbox near the bottom. Check this checkbox, and set appropriate scaling parameters.

Excel's built-in logarithmic scale allows only complete decades along the axis, meaning the minimum and maximum scale
parameters both must be powers of ten. You can simulate intermediate values for min and max following the Flexible Log
Scale technique on Tushar Mehta's web site, http://tushar-mehta.com.

back to top

Secondary Axes
You must have at least two series in a chart in order to display secondary axes: one series is needed for each axis group.
Double click on the series you want to move to the secondary axis, click on the Axis tab, and select Secondary. Repeat
for any other series you want to place on the secondary axis.
By default, Excel only shows the secondary Y axis. Right click on the chart, and select Chart Options from the pop up
menu. On the Axes tab, you have the ability to turn on and off any of the primary and secondary, category and value axes
in the chart.

back to top

Axis Tips and Tricks


Entering Dates or Times as Axis Scale Parameters
Excel uses whole numbers for dates and decimal fractions for times, and displays these in the Axis Scale dialog. Rather
than struggling to determine which day number corresponds to a particular date or which fraction represents a particular
time, you can enter the desired date or time in any format Excel recognizes (e.g., 1 jan 2003 or 14:30:00), and Excel will
convert them when you close the dialog.

Axis Crosses at Minimum


Excel provides a checkbox for Axis Crosses At Maximum, but omits one for Axis Crosses At Minimum. One trick to ensure
that the axis crosses at the minimum value is to enter an unrealistically large negative number (e.g., -999999999999) in
the Axis Crosses At box. If this value is less than the axis minimum, Excel crosses the axis at the minimum. Note: for a
logarithmic scale axis, use an unrealistically small fraction (e.g., 0.0000000001).

Break in an Axis
Excel has no built in way to show a break in an axis, for example, when one value in a series is much larger than the
others. There are a few was to handle this deficiency. First, you could use a logarithmic scale for the data. Second, you
could plot the larger value on a secondary axis. Unfortunately both of these methods may not be clear to the viewer. A
third approach, too long to be presented here, is to simulate the breaks is the axis and the data using the Broken Y Axis
technique shown on my web site, http://www.geocities.com/jonpeltier/Excel/Charts/BrokenYAxis.html.

More Axis Tips and Tricks


There are several other axis tricks presented on my web site:
- http://www.geocities.com/jonpeltier/Excel/Charts/axes.html
back to top

Gaps in Chart Series; Blanks Chart as Zero


Gaps in Chart Series
There are several ways Excel may treat a blank cell in a series of data, shown below for a sample series. Given the data
shown below, Excel may simply not plot the data, leaving a gap (the default behavior), plot the empty cell as zero, or
interpolate by drawing a line spanning the points on either side of the blank cell. Select the chart, choose Options from the
Tools menu, and click on the Chart tab to select the option you want used for this chart.
A B

1 Series

2 a 1

3 b 2
[IMAGE REMOVED]
4 c 3

5 d 4

6 e

7 f 6

[IMAGE REMOVED] [IMAGE REMOVED]


Blanks Chart as Zero
If the apparent blank cell is the result of a formula returning a zero-length string, the chart will not respond to any selection
in Tools > Options > Chart > Plot Empty Cells As, above. The cell isn't empty, it contains a text value, treated as zero in
any Excel chart. The other alternative is to interpolate over this non-empty cell, by changing the "" returned by the formula
to NA(), which puts the #N/A error into the cell.

Change this: To this:

=IF(F9>0,F9,"" =IF(F9>0,F9,NA()
) )
The #N/A looks ugly in the worksheet, but charts nicely. To fix the appearance of the worksheet, use conditional
formatting to hide the error. Select the range of cells, choose Conditional Formatting from the Formatting menu, pick
Formula Is from the Condition 1 dropdown, and enter this into the formula box, where A1 is the address of the top-left cell
in the range:

=ISNA(A1)
Click the format button, and choose a font color that matches the cell's background color (usually white).
back to top

X Axis Plots Like the Numbers 1, 2, 3, not Like the Actual Values; Points Drop to Zero
Your data is spread uniformly across the X axis, with the points arranged left to right in the order they appear in
the worksheet, not according to the actual X values.

There are a few causes for this behavior. First, make sure you are using an XY Scatter chart, not a Line chart (see
Scatter Chart or Line Chart?. Second, make sure you are using the right range for your series' X Values: select Source
Data from the Chart menu, click on the Series tab, and be sure a range is specified in the X Values range selection box.
Finally, make sure all the numbers in the range are interpreted by Excel as numbers, not as text. Often numbers imported
from another program will be treated as text, and it only takes one non-numeric cell in the range to mess up the entire
axis. See below for advice on detecting and fixing this problem.

One or more points in your chart plunge to zero, even though there aren't zeros in the cells.
Make sure all the numbers in the range are interpreted by Excel as numbers, not as text. Often numbers imported from
another program will be treated as text. See below for advice on detecting and fixing this problem.

How can you tell if you have any text values? And how can you convert them to numbers?
A number is right-aligned in the cell by default, while text is left aligned. This is the easiest way to tell whether the cell has
numbers or text in it, and is why I only specify alignment in the pages that some manager will print out. If your cells look
like numbers (except for alignment) but are really text, it's easy enough to fix them: select and copy a blank cell, select the
cell(s) to be converted, select Paste Special from the Edit menu, and select the Values and Operation-Add options.
Forcing Excel to perform a mathematical operation on a cell causes the cell to be re-evaluated as a number.

back to top

Data Tables
About Data Tables
At first glance, Data Tables sound like a nice addition to Excels charts. A Data Table is a table of charted data right in the
chart, where it can be quickly reviewed alongside the chart. For a simple chart, a Data Table is a nice feature. But it
seems that there are more limitations than capabilities.

Data Tables are available for line, column, area, and barchart types only. In line, column, and area charts, the columns of
the data table lines up nicely below the corresponding category label on the X axis. Formatting of data tables is
rudimentary at best. It is not possible to highlight or differentiate selected values in the table using colored text, bold or
italic, or thicker cell borders. And all the corresponding data must appear both in the chart and in the data table (of course,
you can format a chart series so it is not visible). There is no provision for comments or labels in the data table.

Alternative Approach
One way to place numeric values in the chart to enhance comprehension is simply to use data labels, showing the
categories (X data) or values (Y data). Or you can use custom data labels, as described elsewhere in this article.
If I want to display a table of numbers with my chart, I embed the chart in a worksheet, then create my own table in the
cells beneath or beside the chart. I can put anything I want in this table, and I can format it however I want. These can be
the values which are charted, or they can be linked to the charted values, or they can be completely static. Best of all, I
have total control over them. I'm not limited in the chart types I can use, I can add annotation to the table, and best of all,
I'm not giving up prime real estate in my chart.

back to top

Chart Colors
You can specify which default colors Excel uses in your charts. Select Options from the Tools menu, and click on the
Color tab to bring up Excel's color palette (see below). A palette is limited to 56 colors, but each workbook can have its
own color palette. To change any of the colors, select the color, and press the Modify button. Pick a color from the
Standard tab, or dial up a color (by RGB if you want) on the Custom tab. The colors in the bottom row ("Chart lines") in the
Color dialog are used for the first 8 line or scatter series in a chart. The colors in the row above this ("Chart fills") are used
for the first 8 column, bar, or area series in a chart; the colors in the bottom row are used for series 9 to 16.

[IMAGE REMOVED]
back to top

Filtering the Data (Screening According to Selection Criteria)


Suppose you have a table of data, perhaps figures for several companies, and you want to chart only the data for a single
company. You can apply data filters to the table. Select one cell within the table, or select the entire table, then select
Filter from the Data menu, and select AutoFilter. Cells in the header row now have drop down arrow indicators beside
them. Click on one of these arrows, and a list of the distinct values in that column appears. For example, the dropdown
above column A in the table at left contains the items AAA, Bravo, and Cornwall, as well as (All), (Top 10), and (Custom).
Selecting AAA from this list hides the rows with other values in that column, as shown below right. The arrow indicator and
visible row headers turn blue to indicate that the list is filtered. Excel's default behavior is not to chart hidden values, so a
chart initially created from the entire table will change to display only the filtered rows. To change this default behavior,
select the chart, pick Options from the Tools menu, click on Chart, check or uncheck the Plot Visible Cells Only checkbox.

Original Data Filtered Data

A B C A B C

1 Company Cost Rate 1 Company Cost Rate

2 AAA 65.94 1.30 2 AAA 65.94 1.30

3 Bravo 66.44 1.10 4 AAA 65.30 3.86

4 AAA 65.30 3.86 6 AAA 65.32 2.91

5 Cornwall 67.19 3.85 9 AAA 65.85 4.42

6 AAA 65.32 2.91 10 AAA 65.03 3.95

7 Cornwall 67.98 2.15 13 AAA 65.46 9.70

8 Bravo 66.87 3.47

9 AAA 65.85 4.42

10 AAA 65.03 3.95

11 Cornwall 67.70 7.54

12 Bravo 66.46 11.44


13 AAA 65.46 9.70

back to top

Decimating the Data (Plotting Every Nth Point)


Sometimes a data set contains many points, and putting a marker on each point obscures the details of the series. But it
may still be desirable to use markers to identify the series. You can use worksheet formulas to "decimate" the data,
allowing you to use a marker for only one point out of several. The data set below shows the very beginning of a much
larger worksheet. Cell A1 is blank, cell B1 has the label Y1, cell C1 has the label Yn, and cell D1 has the desired
frequency of markers (5 in this case). The X data are in A2 to A1000 and the Y data are in B2 to B1000. C2 to C1000 will
hold every 5th point from column B. The formula in C2 is

=IF(MOD(ROW()-ROW(C$1),$D$1)=0,B2,NA())

This formula puts the value from column B into column C at the frequency indicated in cell D1, with #N/A error values
(which are ignored by the chart) in between. An XY Scatter chart of a portion of the data is shown beside the table:
column B is charted using a line without markers, while column C is charted with markers and no line.

A B C D [IMAGE REMOVED]

1 Y1 Yn 5

2 1.1 1.06 #N/A

3 1.2 1.21 #N/A

4 1.3 1.33 #N/A

5 1.4 1.39 #N/A

6 1.5 1.48 1.48

7 1.7 1.69 #N/A

8 1.8 1.82 #N/A

9 1.9 1.90 #N/A

10 2.0 1.99 #N/A

11 2.1 2.13 2.13

12 2.2 2.25 #N/A

back to top

No New Fonts May Be Applied in This Workbook


When you have multiple charts each on several worksheets within a workbook, you may burn through the system
resources Excel uses for charts. Apparently Excel needs dedicated font resources for each chart (even if the charts use
the same fonts), and if font autoscaling is enabled, the resource requirements are doubled. Font autoscaling can be
disabled for each chart to alleviate this resource crisis.

XL2000: Error Copying Worksheets Containing Charts (215573)


I've compiled more information and workarounds for this issue on my web site, including a registry hack to turn off font
autoscaling by default, and VBA code to fix the fonts in individual charts.
http://www.geocities.com/jonpeltier/Excel/Charts/FixFonts.html
back to top

Refreshing a PivotChart Removes Formatting


When a pivot table or pivot chart is refreshed, or the layout of the pivot is changed, or individual items in a pivot field are
hidden, custom series formatting in the chart may be lost. This is because Excel removes series from the pivot chart, then
adds them back with default formatting. Even Microsoft suggests recording a macro to apply your custom formatting, then
rerunning the macro after changing the pivot table.

XL2000: Changing a PivotChart Removes Series Formatting (215904)


Pivot charts suffer from additional shortcomings. There are limited chart types available to pivot charts, and you cannot
add data from outside the underlying pivot table to the chart. These issues can be worked around by creating a regular
chart from dummy data, then changing the data ranges of the chart's series to refer to parts of the pivot table.

back to top

3D Charting Deficiencies
In general, 3D charts have problems with accuracy and comprehension. The angular relationships make it difficult to
determine exactly where a data point sits on any axis, particularly with varying perspectives. If there is a gap between a
marker (column or bar) and the axis or gridlines, the paralax effect leads to inaccuracies. Paralax and perspective can
even distort the data presentation. In a simple chart, the 3D effects add nothing except perhaps the opportunity for more
colors and shading effects, and can decrease the viewer's ability to read the chart precisely.

Excel does not have a 3D XYZ Scatter charting capability. You can make a surface or contour chart, for fixed X and Y
categories, with a Z value for each X-Y grid point. These charts provide no more information than the 3D Column chart
type, which has a 2D array of columns, of variable height. Andy Pope has a simulated 3D scatter chart example, which
makes use of worksheet trignometry formulas (http://andypope.info/charts.htm).

Excel's charts that make use of 3D "visual effects" (column, bar, line, pie, area, cylinder, cone, pyramid) have
shortcomings compared to Excel's 2D chart types. Combination of different chart types is not possible, and there are no
data label positioning options.

back to top
Limitations of Shared Workbooks and Grouped Worksheets
In a shared workbook, you cannot insert or change charts. You can change the Shared setting of a workbook through the
Share Workbook command on the Tools menu. Check the topic "Limitations of shared workbooks" in the help files to
uncover other problems with shared workbooks.

Grouped worksheets seem to suffer from many of the same disabilities as shared workbooks. On grouped worksheets,
charts cannot be created or changed. Unfortunately documentation on this topic is scarce.

back to top

Links to Charting Resources


What follows are two rather incomplete lists of links. The first list pertains to Excel charting techniques, tips, and
workarounds. The second list concerns good graphical practices relevant to Excel charting and to any other charting
exercises.

Excel Charting Resources

• http://geocities.com/jonpeltier/Excel/Charts/index.html
A tribute to compulsive behavior by its host, me.

• http://tushar-mehta.com
Tushar Mehta's web site, which includes charting content and much more.

• http://j-walk.com
Web site of John Walkenbach, author of myriad Excel books, including the only book available on Excel Charts;
also the author of Chart Tools, a very useful add-in.

• http://appspro.com
Site of Excel MVP Rob Bovey, where you'll find the indispensible Chart Labeler add-in.

• http://bmsltd.co.uk/Excel/Default.htm
Stephen Bullen's web site, which features a section on advanced charting techniques.

• http://andypope.info/charts.htm
Web site of Andy Pope, who has developed some creative charting solutions.

• http://edferrero.m6.net/Charting.html
Ed Ferrero's charting examples.
• http://www.prodomosua.it/ppage02.html
Fernando Cinquegrani's web site, containing many downloadable utilities (it's in Italian, but worth it for the clever
techniques he's implemented).

Non-Excel Charting Resources

• http://www.edwardtufte.com
The Work of Edward Tufte and Graphics Press

• http://www.washington.edu/computing/training/560/zz-tufte.html
Graphics and Web Design Based on Edward Tufte's Principles

• http://www.math.yorku.ca/SCS/Gallery/intro.html
Gallery of Data Visualization (graphics guidelines, not Excel oriented).

• http://lilt.ilstu.edu/gmklass/pos138/datadisplay/goodcharts.htm
Gary Klass: Constructing Good Charts and Graphs (non-Excel with links to Excel tips).

• http://www.itl.nist.gov/div898/handbook/index.htm
NIST - SEMATECH Engineering Statistics Internet Handbook

• http://mathworld.wolfram.com/topics/ProbabilityandStatistics.html
MathWorld Probability and Statistics

Sound Across Slides

by Geetesh Bajaj, MVP


[IMAGE REMOVED]
In the last issue of TechTrax, Sun, Shine and Storm created a Photo Album presentation within PowerPoint to share their
photographs. Now they would like to add a sound score to the presentation—something that spans across slides.
First of all, if they need to span a sound across slides, the sound (or music) needs to be capable of looping—you don’t
want to insert something that has an abrupt beginning or end. Several vendors create readymade looping music scores—
here’s one of them:

http://www.powerpointed.com/addins/crystalgraphics/powermusic.html
Before we start, here’s a word of caution. The sound-across-slides feature is not suited for all sorts of presentations—here
are some guidelines:
1. Do not include a background musical score in a company presentation that has a presenter speaking before an
audience.
2. You can use the sound feature in a presentation that has no live presenter—although you would want to choose a
soft, understated background score.
3. You might want to avoid using a background score in a presentation that’s intended to be converted from
PowerPoint to online rich media content.
4. For trade shows and exhibition kiosks, try to use upbeat and striving music rather than monotonous, weary tunes.
5. Background musical scores are great for Photo Album presentations—since music typically feels good along with
a sequence of still pictures.
6. You can also use music to great advantage within presentations that get distributed on CD.
7. Unless you are a professional who is certain about the entire concept, never use a background score in a
presentation that includes narration.
8. A musical background score can be a pleasing accompaniment to a presentation that’s being shown during the
lunch hour or tea break in a convention—for example, a product photo-album presentation or similar. Also, when
the music stops, the audience knows its time to get back to their seats.

Whatever you do, remember this trick—turning off the music in any presentation can be as easy as setting the volume bar
to mute—so there’s no harm in including music in any presentation.

It’s a good idea to assemble the sound files in the same folder as the presentation even before you insert the music within
a ‘saved’ presentation. This ensures that PowerPoint does not lose its links if you move the presentation to another
system, since you can copy the entire folder to another machine.

Having said that, let’s begin with inserting a musical score that spans across slides in PowerPoint. These instructions are
specifically for PowerPoint 2002, but should work with earlier versions on both the Windows and Macintosh platforms.

1. Open a new or existing presentation in PowerPoint and navigate to the first slide. Choose Insert | Movies and
Sound | Sound from File… or any of the three other options (sound from CD, Clipart Organizer or record a sound).

2. Depending on the insert sound option you choose, PowerPoint may ask you if you want the sound to play
automatically. Accept this option.

3. This will place a sound icon that looks much like the volume control icon on the Windows taskbar. Right-click this
icon and choose ‘Custom Animation’ from the resultant context menu.

4. The custom animation task pane towards the right of the PowerPoint interface will now be activated. Within the
pane, you’ll find the name of your sound file listed. Click the downward pointing arrow next to the sound file and
this should reveal another menu. Choose ‘Effect Options’ within this menu.
5. In the Effects Option dialog box that opens next, you’ll find two tabs—Effects and Timing. Within the Effects tab,
opt to play the sound from the beginning and type ‘999’ in the ‘Stop playing after’ number option, since ‘999’ is the
highest number that PowerPoint accepts.

6. Within the Timings tab, choose to ‘Start after’ the previous event with a delay of 0 (zero) seconds.

7. Thereafter, you can drag the sound icon anywhere off the slide since you might not want the icon to be visible
while you are playing the presentation. Remember to save your presentation.

PowerPoint 2000, 2002 and 2003 can insert MP3 sounds, but PowerPoint 97 cannot—so you might want to convert the
MP3s to WAV if you are using PowerPoint 97. Also, changed MCI (Media Control Interface) settings can play havoc with
the way PowerPoint handles sounds and video—look at the MCI settings section of this URL for some troubleshooting
advice if PowerPoint refuses to insert the MP3 file:

http://www.indezine.com/products/powerpoint/ppmultimedia.html

Using the techniques listed above, PowerPoint can accept sound files in various formats including WAV, MP3 and WMA.
More often that not, you can use WAVs—although MP3s and WMAs occupy less space since they are compressed, a key
advantage if you need to email your presentations. Since we are discussing sending presentations by email, here’s a tip.
Never send presentations by email unless the recipient is expecting them in the mailbox. It’s a good idea to archive the
presentation and linked sounds within the same folder to a zip file and upload it somewhere—thereafter, email the URL.
Sun, Shine and Storm did not have to do much this time—much of the techniques discussed above were accomplished in
less than 5 minutes. Next time we’ll have something more involved when we take a look at an amazing add-in that brings
a little of Photoshop into PowerPoint.

Autoshapes

by Kim Hedrich
[IMAGE REMOVED]
As well as lines and arrows, you can draw circles, ovals, squares and rectangles. This is done via the Drawing toolbar.
To display the Drawing toolbar, click on the View menu. Then select Toolbars, and Drawing. By default this toolbar
appears at the bottom of your Word window.

Once the shapes have been added, they can also be modified. You can change their size, proportions, position, line
colour and fill colour/effect.

This article covers how to draw circles, ovals, squares and rectangles. It also covers modifying fill and line colour. Future
articles will cover other fill effects and different shapes.

(a) Circles and ovals


1. Click on the oval button on the Drawing toolbar. [IMAGE REMOVED]
2. Click and drag within the document window to draw the shape.

(b) Squares and rectangles

1. Click on the rectangle button on the Drawing toolbar. [IMAGE REMOVED]


2. Click and drag within the document window to draw the shape.

Tip: Hold down the Shift key while you drag to draw an accurate square or circle

(c) Colour

The default line colour and fill colour will depend on the Office application you are using. For example, PowerPoint will
give you shapes with a black line and a green fill. Word will give you shapes with a black line and a white fill.
Once the shape has been drawn, its fill colour and line colour can be changed. This includes removing fill or removing the
line.

Tip: Don’t remove the line until you have changed the fill. Otherwise you may “lose” your shape (not be able to see it on a
white background). Go to Tools – Options, and the General tab. Choose Blue Background White Text. Use this if you lose
a white object.

Fill Colour

To modify the fill colour:

1. Select the object by clicking on it once.


2. Click on the Fill Colour button on the Drawing toolbar. This will change the fill colour to that of the underline on this
button. [IMAGE REMOVED]

Tip: Put your mouse over this button to see its screen tip. The screen tip will also include the name of its current colour, in
parentheses

Click on the arrow just to the left of the button, to view more colours. You have the choice of 40 different colours in this
box.

Other options are:

No fill Useful if you want text to appear inside the shape, using a text
wrapping of Behind Text.

A shape with No Fill will need to be selected by clicking an outside


edge.

A shape with White Fill has a fill colour. A shape with No Fill is a
line that meets up with itself. Text wrap will vary between the two
shapes.

To select a shape with fill, you can click the middle. To select a
shape without fill, you need to click on the line. Click when you see
a four-headed arrow.

More fill colours Displays a dialogue box containing Standard and Custom tabs.

Fill effects Adds a gradient, texture, pattern or picture as a fill for your shape.

More Fill Colours

Choosing this option displays the Colours dialogue box. This dialogue box has two tabs, Standard and Custom.
The Standard tab contains a colour wheel. Adjacent colours vary slightly in shade, with the darker colours around the
outside and the lighter colours towards the centre. This can help you choose matching shades for one document,
spreadsheet or presentation.

[IMAGE REMOVED]

Click on the colour you wish to use, and click on OK.

Other options in this dialogue box include:

New/Current Displays the current colour of the object as well as the colour you have
selected.

Semitransparent Colour the object so that text or other objects show through it, no matter
what its fill colour. These objects will tend to be fuzzy or shaded.

Shades of gray Choose a shade of gray, or choose black, for a different effect or for
printing to a black-and-white laser printer.

Clicking on the Custom tab shows you this screen.

[IMAGE REMOVED]

Here you can effectively choose from millions of colours, depending on the resolution settings of your monitor.
Within the coloured box is a white cross. Pick up this cross and drag it to the colour area you want to use.
Now, click on the black triangle near the colour bar, and drag it up or down until you get the right shade of that colour.
Note that again you have New and Current visible. And here too, you can choose Semitransparent.
If you are a colour whiz, or wish to experiment further, you can manually type in values for Hue, Saturation and Luminosity
for Red, Green and Blue.

Click on OK when you are happy with your colour selection.

Line Colour and Style

Each AutoShape has a line around its edge. You can modify this line, or remove it.

1. Select the object by clicking on it once.


2. Click once on the Line Colour button. [IMAGE REMOVED]
3. This applies the current line colour. Click on the arrow at the left side of the button to choose more colours. Again,
you can choose More line colours, and Patterned lines.
4. Another option here is No Line.

To modify line style, use the Line Style and Dash Style buttons on the Drawing toolbar. Or right-click on the shape and
choose Format AutoShape. This gives you the dialogue box.

Microsoft Project: Lesson 5—Working With Resources

by Mike Glen, MVP


[IMAGE REMOVED]
You should by now have a sensible working plan with an acceptable Gantt chart showing the critical path through your
project. This month we’ll look at how to enter resources into your plan and begin to see how Microsoft Project deals with
them.

Resource Allocation

Entering a Resource
You will be pleased to know that entering a resource is one of the easiest steps in Project: what happens afterwards is
another story!

Select Tools > Resources > Assign Resources…, ALT+F10 or click on the Assign Resources tool button: [IMAGE
REMOVED]

This will activate the Assign Resources dialog box, as shown in the image below.
[IMAGE REMOVED]
The dialog box “floats”, i.e., remains on screen until it is closed, allowing work in the active view while the dialog box is
visible (click and drag on the title bar to reposition it). Because of this, always click in the appropriate window to make it
active before entering data, otherwise you will enter the data in the wrong place. So, in the dialog box, click in the first
Name cell and type in the name of the resource, and press Enter. There, that was easy wasn’t it?

Assigning a Resource
Once the resources have been entered into Project, using the same Assign Resources dialog box, select the task, then
select the resource and then click the Assign button. Alternatively, move the mouse pointer into the cell to the left of the
name of the resource. The pointer will change to an arrow attached to the Assign Resources icon. Hold down the left
button and drag it to the task and release.

When assigned, there will be a Tick in the cell next to the resource name, the Units will register the default setting of
100%, and the resource name will appear to the right of the Gantt bar. If more or less than 100% is wanted, enter the
number required before assigning the resource.

Removing a Resource Assignment


Select the tasks to which the resource is assigned and in the Assign Resources dialog box, select the resource to be
removed then click the Remove button.

Effort Driven Scheduling

Project is an effort driven program. This is defined as a scheduling method that bases a task's duration on the amount of
work the task requires and the number of resource units assigned to it: i.e., calculation is based on the formula:
Resource Units X Duration = Work
The values in the formula are set up for each task when a resource is first assigned; subsequent changes will be
governed by the formula. I can’t do better than quote from the Help pages:

"When people are assigned or removed from a task, Microsoft Project will extend or shorten the duration
of the task to accommodate the additional or fewer resources applied to the task, but it will not change the
total work for the task. This is called effort-driven scheduling and is the default Microsoft Project uses
when assigning resources to tasks.

"As resources are added to a task, the total work on the task stays the same. The amount of work
distributed to the resources assigned to the task, however, will change.

"Effort-driven scheduling only takes effect when resources are added to or removed from a task
(the emphasis is mine—Mike). Effort-driven calculation rules are not applied when changes are made to
work, duration, and unit values for resources already assigned to a task."

When working with effort-driven scheduling, keep the following in mind:

• The effort-driven calculations will apply only after the first resource is assigned to the task. Once a resource is
assigned, the work value will not change as new resources are assigned to or removed from the same task.
• The effort-driven calculations will not be applied to multiple resources that are assigned at the same time and that
are the first assignments on a task. After this initial assignment of multiple resources, however, the work value will
not change as new resources are assigned to or removed from the same task.

• If the assigned Task Type is Fixed Units, then assigning additional resources will shorten the duration of the task.

• If the assigned Task type is Fixed Duration, then assigning additional resources will decrease the individual unit
values for resources.

• If the assigned Task type is Fixed Work, then assigning additional resources will shorten the duration of the task.

Okay, enough of the Help pages! Resource assignment can be very complicated as you can see. My advice is, if at all
possible, keep to one resource per task and it is difficult to go wrong or fail to understand what’s going on. Remember,
and I repeat: Effort-driven scheduling only takes effect when resources are added to or removed from a task. So,
after the first assignment of a resource, effort driven scheduling has no effect unless you subsequently add or remove
resources from the task.

Resource Leveling

After assigning resources, it is likely that at certain times there will be more work assigned than there are resources
available. In Project, leveling means resolving resource conflicts or overallocations by delaying tasks. Leveling requires
delaying tasks until resources are available, thus enabling the project to be finished, though often resulting in a later
project finish date.

Overallocations
To see overallocations, I’d like to suggest my favourite way for dealing with resources, and that is to use the split screen
technique that I introduced in the March issue. I repeat: select Window > Split or right-click in a free area of the Gantt
chart and select Split. A combination view will be seen with the Gantt chart in the upper pane and the Task Form in the
lower pane. Click in the lower pane to make it active and select View > Resource Graph, or click the Resource Graph
icon in the view bar.

Note! To view the resource graph from a split screen, a task must be selected that has the resource assigned.

Resource Graph
The resource graph will indicate the peak usage rate of that resource as a histogram. Overallocated resources are shown
in red text and the amount of overallocation is shown red on the graph. Use this resource view to display information
about a single resource or group of resources over time. If you have assigned different resources, use the horizontal
scroll bar on the left side under the resource name label to see the others.

Automatic Levelling
When you have resources that are overallocated, you will need to level the project to ensure that no resources are
assigned to work more than the standard working day. Project levels the resource allocations by delaying tasks until the
resource becomes available.

To invoke Project’s built-in leveling process, select Tools > Resource Leveling… (Tools > Level Resources… in
Project 2002 ) and select the Level Now button.

[IMAGE REMOVED]
Such leveling, with the default settings, will be resource-limited and will remove overallocations but will almost certainly
delay the project beyond the time of the critical path. This will be the normal behaviour as you will want Project to tell you
what is possible. However, selecting the setting to Level Only Within Available Slack produces a time-limited schedule,
ie maintaining the critical path, but is unlikely to resolve all resource overallocations, which then become your problem to
manage.

Unleveling
The effect of leveling can undone by selecting Tools > Resource Leveling and selecting the Clear Leveling… button.

Next Month
That’s enough for this month to get you going. Experiment with a couple of tasks and a few resources, and then add and
remove their assignment. I will cover leveling and the effect of the various settings in more detail in a later lesson. Next
month, we’ll have a look at some of the main Views provided with Project so that you can get a feel for some of the ways
you can view the data to help you manage the plan.

Creating Test Forms in Word

by Dian Chapman, MVP


[IMAGE REMOVED]
More and more often these days, tests are conducted on a computer. From teachers testing their students to employers
testing their potential employees. In this article, I'll show you how you can create an automated test form in Word that will
not only calculate the user's score, but also keep them from cheating!<wink>

Setting Up the Form

The first thing you should do is type out a list of questions with potential answers. That always seems like the hardest part
for me! Not so much coming up with questions and answers, but coming up with decent phony answers that don't sound
ridiculous. (And if you've taken any of the TechTrax Assessment Tests, you'll see I still struggle with this ability!<grin>)
So I'll leave the questions and answers to you and I'll show you what I do best—create automated forms.

Before you start designing your form, you'll want to make sure you have gone into Tools/Options/View and turned on
some of the visual aids so you can see what's going on in your page. Turn on Field Shading (set to Always), Tabs,
Paragraph Markers, Bookmarks, Hidden Text and Text Borders. This will help you see what you are doing right and
help you figure out if you have something wacky on the page that might be messing up your alignment. Also make sure
you're working in View/Print Layout (or Page Layout if in an older version of Word).

Note! If you'd like more details about setting up the proper view, you can find a link to view my free Word Options lesson
from my AutoForms and Beginning VBA video course on the MouseTrax Tech Courses page.
Here's a look at our sample Quiz form. Now let's see how we got here.

[IMAGE REMOVED]

Save Your Template


Open a blank page and click File/Save As and click the dropdown for Save as Type and choose Document
Template...so you save this page as a template! You should always create master forms as templates. Then new
documents are created from that master.

Tip! Although Word will attempt to save your template in your default template directory, don't let it! You'll be hunting
around for hours to find it! Rather, save it to your Desktop. This way you can easily right click it and select Open when
you need to work on it as a designer/developer to adjust the look or code. But then you can also easily right click it and
choose New when you want to test the form.

Margins
Make sure you've given yourself enough space on the page. If you want to max out your page, but aren't sure what your
printer can handle, set all your margins to zero. Then click okay. You'll get a warning to fix the margins. Say yes. That'll
force your print driver to use its max settings.

Formatting the Title


Type a title for your quiz. You can then select that text and dress it up quickly by hitting Ctrl/Shift/> to make it a larger
font. Then maybe hit Ctrl/B to add bold and hit Ctrl/I to make it italic. While still selected, you can click Format/Borders
and Shading and maybe add a border above, as I did. Or maybe add some background shading?
Once you have it the way you want it to look, while still selected, click inside the Style Window and enter a style name
and hit the Enter key to accept that name for this style. See the image below if you need help.

[IMAGE REMOVED]

You've just created an instant Style! Now if you decide to use this same title style again...maybe for part two of the
test...you can easily modify all text using this style. Or maybe you want to save this look? Then click
Format/Style/Organizer and pass this style from this doc into your Normal.dot (master template) so you'll have it
available for other documents.
Add a Name Form Field
After the title, hit the return and add some text to allow the user to enter their name. I've added a right aligned tab to let me
push it over to the right side of the page. Although you can just as easily hit Ctrl/R to set it to right alignment.
Important! Whether you add a name field or some other field, be sure to add one Text form field before the questions.
You see, we'll be writing code that will cause the checkboxes for the answers to work like mutually exclusive option
buttons (radio buttons). If the first form on the test is a checkbox, that checkbox will become instantly selected when the
user opens the test. So to avoid that problem, you need to add some field above the test answers.
After you type some text, such as "Enter your name: ", turn on your Forms toolbar by hitting Alt/V + T and arrow down to
select the Forms toolbar. Then, as shown in the image below, click on the Text Form Field to add a spot for the user to
type their name once the form is locked.

[IMAGE REMOVED]

Adding Your Questions


Now we get to the fun part—dealing with Word's numbering!<evil smirk> Type your first question. Triple click on it to
select the entire paragraph. Click Format/Bullets and Numbering/Numbered and choose a numbering style.
Take a look at the image below and notice the boxed markings around the questions. Those are simply the text borders
that you turned on via Tools/Options/View. You need to leave room to insert a Frame for the answer checkboxes. But if
you hit the Enter key, you'll get the next number, because the enter key will end the current paragraph and start a new
one, hence...new numbers.

[IMAGE REMOVED]

So here's a little trick (and if you tell anyone I told you to do this...I'll deny it!). Hit Shift/Enter to add soft breaks or line
feeds. This will maintain the numbering style and trick Word into thinking you're still typing your first question. That will
give you empty lines without adding another number.

When you've moved down a few lines, hit the Enter key to add a hard return. This will stop that numbering and add
number 2. Type your second question. Continue down the page like this for all your questions.

Add the Frames


Now you need to add a Frame after each question to hold the checkboxes. This is very important and you cannot use
TextBoxes for this! You must use a Frame, because TextBoxes can't hold form fields, i.e., your checkboxes. Frames can.
That's probably why you'll find the Frame icon on your Forms toolbar.

Check out the image below for a little further info.

[IMAGE REMOVED]
Here you'll see the Insert Frame icon on the Forms toolbar. When you click it, you'll be able to draw out a frame, as you
can see I've done near the bottom of the image. Also notice how the frame pushed away the text border to the right for the
area in which the frame has been inserted. This is because the default text wrapping for a frame is around. But that's not
what we want, because it's too difficult in which to work. We'll fix that in a moment.

First, you'll also want to remove the default border around the frame. Select the frame and click Format/Borders and
Shading and choose None.

Notice in the image above, when I select the frame, you can see handles (small black squares) around the selection. If
you make the frame too large, you can grab one of those handles and adjust the size of your frame. Try to keep them as
consistent as possible just so it's easier to see what's happening on the page. If you make them all different sizes, the
page can look cluttered and be hard to decipher what's what!

While the frame is still selected, right click your mouse to display the mini menu (or shortcut menu) and choose Format
Frame. I'm not quite sure why this dialog box can make sensible folks get loopy, but it does. People seem to freak out
about formatting frames and scream that the frames "jump all over the page." But it's actually pretty straightforward. If you
take a moment to think about what it's asking!

Notice in the image of this dialog box below, that I'm selecting None for Text Wrapping. This will cause the text border
that was along the right to now neatly move under my frame, as shown in that icon image. Leave the rest of the defaults
as shown below. Of course, your settings will vary depending on the size/position of your frame.

[IMAGE REMOVED]

Adding Checkboxes
Now you just have to select each frame in turn and, from the Forms toolbar, click on the Checkbox icon to add the
necessary checkboxes. After each, add text to represent a possible answer.

[IMAGE REMOVED]

You can see that I've now added a third question to the form. Since this frame is active, the border looks a little different
as I enter the checkboxes. But also notice how the text border that was along the right has now neatly moved below my
new frame...because I set the wrapping to None.

Let's Write Some Code!

Hit Alt/F11 to open the Visual Basic for Applications Editor in Word. If you've never ventured into the Visual Basic Editor
(VBE), I'll provide some details here. But this is not a beginner's lesson. If you follow along exactly as I say, it'll work for
you. However, if you need further details, you should check out all my other free forms articles, which you can find at
www.mousetrax.com/techpage.html#autoforms. And if you want to learn a lot more about VBA programming, you
should check out my new AutoForms and Beginning VBA video course. It's an enhanced version of my popular eBook
course and contains many hours of information and instructions, as well as lots of tips and tricks as I sit down with you
and show you how to write VBA code in Word!

When you enter the VBE, you may default into the Normal.dot template and you won't yet have a code module in your
template. As shown in the image below, click Insert/Module to add a new code module to your new template. Be sure
you have selected the correct Project in the left Project Window!

[IMAGE REMOVED]

Double click on the new Module1 that has been added. This will open a code window so we can get busy.
The first thing you need to add is the term Option Explicit, which will cause Word to point out all your mistakes. This is a
good thing. You want to know what you did wrong so you can fix it! Then add the names of the two GLOBAL variables
we'll be using. Again, I'm not going to get into deep explanations here...I've already done that in my video course. Or you
can look up these terms on the Internet.

Add this code to the top of the module:

Option Explicit
Public gintTotal As Integer
Public gintTestTaken As Integer
Hit the return after the above code and now you'll enter in the code for the checkboxes.

Add this code next:

Sub ExclusiveCheckboxes()

'declare an object as the form field


Dim objField As FormField
'for each checkbox (form field) in this current fame set
'(or range of form fields), set all the values to false
'and loop through to make sure they are all set to false (unchecked)
For Each objField In Selection.Frames(1).Range.FormFields
objField.CheckBox.Value = False
Next objField
'now set the currently selected checkbox value to true
Selection.FormFields(1).CheckBox.Value = True
End Sub
Note! The red text blocks with apostrophes in front are comments, notes to myself (and you) explaining what the code
does. So be sure to pay attention to this info and READ IT! You should also leave it in. It will not interfere with your code
and it will help you remember what it does later...after you've forgotten. And you will forget!
Make it Work
To get this code to run, you need to add this macro name into each of the checkbox Run Macro on Entry field in their
Options dialog box.

Go back to your form. You can leave the VBE open and just hit Alt/Tab to cycle over to the master template. Double click
on every checkbox to open its Options and add the name of this procedure (ExclusiveCheckboxes) into the Entry field
for each one.

Note! The biggest mistake users make here is either forgetting to enter the name into one of the fields, or entering it into
the Exit field, rather than the Entry field. So pay attention to what you are doing!

[IMAGE REMOVED]

Naming Your Checkboxes


Another important step is that you need to rename all the checkboxes. Now I could have told you to go through and do
this before, but then you would have had to open the option properties twice. Since you have to go through each one now
to add the macro, it's time to also rename each checkbox.

All form fields get a name (bookmark name). However, the default names they get are generic and meaningless. So
rather than trying to remember that Textbox1 is QuestionOne_AnswerOne, rename them all and give them meaningful
names. The names must start with a letter and must be one word (no spaces). I'd suggest you name them Q1_, Q2_, etc
for each question series and then add the same name as the text answer. In other words, if the checkboxes for question 1
are Chicago, Springfield and Bloomington, enter checkbox bookmark names like so: Q1_Chicago, Q1_Springfield,
Q1_Bloomington.

Test Your Form


You can now run a quick test to make sure all the checkboxes are working. Click Tools/Protect Document/Forms. Don't
bother with a password now! You can also simply click the Lock icon on the forms toolbar.

Then grab your mouse and start clicking around. As you enter a group of checkboxes in a frame, the code sets all the
checkboxes to false. But then sets the one you select as true. If you have things working correctly thus far, you should
only be able to select one checkbox for each question.

Lots More Code


Now we need to add several additional sub procedures. These routines will handle the calculations. After the user has
selected all their answers, they can click the Calculate Score button to see their answer. The score will be entered onto
the page. However, a flag will be set in the code so that once the user clicks that button to calculate the score, they will no
longer be able to change that score!<hee, hee> They can change all the answers they want. But they won't be able to
change the score. They can now only print/save the form. Unless you give them the ability to open the master template
again. Each time a New test page is created from the master, the flag is reset to zero. It might be a good idea to advise
users of this fact so the wise guys don't click the button at the start and end up with a score of zero (although it'll probably
serve them right!<grin>).

Adding an ActiveX Control


However, before we get into adding the rest of the code, you'll notice my form has a button on the page that activates the
code to calculate the score. ActiveX controls are similar to Form Fields, but they're more sophisticated and require a little
more knowledge to use. They also put a heavier drag on the document, so use them sparingly!

Click View/Toolbars/Control Toolbox to see the ActiveX controls. Be sure that you're also in Design Mode by clicking
that Icon first. Then find the spot where you want your button to reside and click on the Command Button icon to add one
to your template.

[IMAGE REMOVED]

You can now right click on the button and modify the Properties. Change the Caption to change the text on the button.
You can also modify the font, as well as the size. Once you have it looking the way you want, double click on the
command button to enter the code window for the Click Event for this button. This code will run when the user clicks on
the button.

[IMAGE REMOVED]

As you can see in the image above, after you double click on the command button, you will be in the ThisDocument code
module for your project. That's because the command button is on the actual document. I've renamed the Name Property
of my button to cmdCalcTotal. You should always rename all your form fields and controls to meaningful names. But if
you decide to leave yours with the default name of CommandButton1, then realize your code procedure will also need to
be changed from cmdCalcTotal_Click to CommandButton1_Click.

Add this code to the top of the ThisDocument module:

Option Explicit
Private Sub cmdCalcTotal_Click()

'checks to see if GLOBAL variable "flag"


'has been set to see if user has already
'entered a final score, so the score can't be changed
'otherwise, if var is not set, then proceeds with calc
If gintTestTaken = 1 Then
MsgBox "Sorry, you have already calculated your score!"
Else
'calls separate routine to add up totals
'you can position your cursor inside name
'and hit Shift/F2 to jump to that procedure
'to read that code to see what happens next

Call CalcScores

'declares variables for this procedure


Dim strComments As String
Dim bkRange As Range

'quickly calls another routine to unlock form


'note that you can use the "Call" command or not
'it doesn't matter, except for how you would enter
'variables, if we were passing them. When using Call,
'any passed vars need to go in parens. That's info only
'as we're not doing there here!
ToggleFormLock
'sets bookmarked location to total score
ActiveDocument.Bookmarks("TotalScore").Range.Text = gintTotal
'relocks form
ToggleFormLock
'sets the GLOBAL variable flag to 1
'to show the score cannot be changed!
gintTestTaken = 1
'create message for scores
'this is optional and you'll need to change the
'settings for the total score. Since I only have three
'questions. If you have more, adjust these numbers or
'you can comment this code out by putting an apostrophe
'in front of each line, or just rip it out!
If gintTotal < 2 Then
strComments = "not too good!"
ElseIf gintTotal = 2 Then
strComments = "average."
ElseIf gintTotal > 2 Then
strComments = "perfect!"
End If
'concatenate your message with the results
'note! If you rip out the message above, also change this code!
MsgBox "Your Total Score was " & gintTotal & ". That's " &
strComments
End If

End Sub
Private Sub Document_New()
'sets both global variables
'...for total and score fields...
'to zero so they can run at least once
gintTotal = 0
gintTestTaken = 0
End Sub
Again, be sure to read the code, as the explanations are within the code comments!

Now we just need to add two more procedures to the end of the code in Module1. Be sure to hit Ctrl/S to save what
you've done so far. Then double click on Module1 and move to the end of the code you have in there now.

Add this code to the bottom of Module1, after the ExclusiveCheckbox code you have there already.

Sub CalcScores()
Dim objAllChecks As FormField
Dim strName As String
'this loops through all the document fields, and if they
'are checkboxes, it captures the bookmark name of the
'checkbox and puts it into a string to check it to see if
'it is a correct answer
For Each objAllChecks In ActiveDocument.FormFields
objAllChecks.Select
If objAllChecks.Type = wdFieldFormCheckBox Then
strName = objAllChecks.Name
'DEBUG
'uncomment the message box below to test and make sure
'you are getting the correct answer, then comment it
'out again
'MsgBox strName

'you will need to modify the code below to one CASE for every
'CORRECT answer. If the correct answer is checked to true,
'then the GLOBAL variable holding the score will have 1 added
'to it.
Select Case strName
Case "Q1_Springfield"
If Selection.FormFields(strName).CheckBox.Value = True Then
gintTotal = gintTotal + 1
End If
Case "Q2_7"
If Selection.FormFields(strName).CheckBox.Value = True Then
gintTotal = gintTotal + 1
End If
Case "Q3_50"
If Selection.FormFields(strName).CheckBox.Value = True Then
gintTotal = gintTotal + 1
End If
Case Else
'DEBUG
'this is also a debugging tool. When you are testing
'your code, you should make sure the message box below
'is uncommented to catch any fields that contain typos.
'if they are not found, it means they don't match the
'actual field name. A typo could cause an incorrect score!
'You should only see this for incorrect checkboxes. When
'run in conjunction with the name message above, you can
'see the field name and see if it's found or not
'if a CORRECT answer is not found, you messed up!
'MsgBox "This incorrect answer was not found"
End Select
End If
Next objAllChecks
End Sub
Sub ToggleFormLock()
If ActiveDocument.ProtectionType = wdAllowOnlyFormFields Then
ActiveDocument.Unprotect

'if a password is used, add the line below after a space above
'Password:="myPassword"
Else
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True

'if a password is used, add a comma after


'the last line and include the line below
'Password:="myPassword"
End If
End Sub

Finalize Your Form


That'll just about do it! However, the last item you need to do is add a bookmark on your form so the score knows where
to be placed. In the code, I've called the bookmark: TotalScore. To ensure it works right and you don't get an error, type
some text to say something like "Your total score: " and then hit Alt/I + K to get to the Bookmark dialog box. Add a
bookmark called TotalScore (or change the code if you use another name). Then you're ready to save and lock it up.
Note! I highly suggest you uncomment the two DEBUG message boxes for your testing to make sure you matched up the
checkbox names correctly. They will show you the checkbox names and let you know if that name was found or not. All
correct answers should be found. Later you can comment them out.

Test your form A LOT! Try all combinations to make sure you don't have any errors. Once you're satisfied that it'll work
properly, be sure you clear the fields. You can do this by using the Tools/Protect Document/Forms menu to lock your
code rather than just using the Lock icon on the Forms toolbar. In later versions of Word, fields are not cleared with the
Lock icon. Only through the menu can you be sure your fields are empty when you save your final version.

You should also add a password now. However, if you do, be sure you modify the ToggleFormLock routine to include
the password or you'll get errors. Comments in the code show you where and how to do this. And you can lock the code
from viewing in the VBE under the Tools/Project Properties menu. But don't lose the password or you can kiss your
code goodbye!

Now you can pass it to those who need to take the test. Make sure that they understand that they must click File/New or
right click and choose New to take the test. If they simply open the document, the Document_New event won't fire (since
you don't want the form to continually run while you're working on it in designer/developer mode). But if the routines in that
event don't fire, the test won't be properly setup to clear the variables, so you can't guarantee the score will be correct.
Have fun! And if you create any cool technical tests, be sure to pass me a copy so I can swipe your questions to use in a
future TechTrax Assessment Test. Yes, you'll get the credit as the author!

Be sure to check out Dian's other free forms articles and her Word tech courses. And if you'd like to have Dian build you
a custom form or get some personal training for a project you need to complete, see her Consulting page!

Automating MapPoint with Perl


by Eric Frost, MVP
[IMAGE REMOVED]
This article shows how to access the MapPoint API from Perl using the Win32::OLE module. Topics include basic Perl
syntax, how to call MapPoint methods, and how to set MapPoint API properties.

I've been a fan of using Perl for manipulating text files for some years having previously used AWK. Both are free, but the
main advantage of using Perl is the enormous variety of modules available ranging from HTML and XML parsers, image
manipulation libraries, communications and networking, mathematics libraries and so on.

One the the modules is a library for calling programs via Windows OLE. Windows applications including Microsoft Office
and MapPoint can be accessed programmatically and controlled from Perl.

ActiveState provides Perl for Windows in an MSI package which is freely downloadable. After it is installed, all that is
required to begin executing Perl scripts is a text file which the extension .pl containing the code. There is no "project" file
or compiling that needs to occur, Perl scripts are interpreted and executed on the fly making for a very easy learning
curve.

The script below defines an array with the U.S. State names, instantiates MapPoint, and loops through the array saving a
map for each state. This is very similar to a previous article Automating MapPoint with the .NET SDK published on
MP2K Magazine last year which basically accomplishes the same thing with the free VB .NET compiler found in the .NET
SDK.

Both approaches allow you to program MapPoint for free, but in comparison automating MapPoint with Perl is much
easier, not least because some de-bugging output is returned, aiding greatly in tracking down syntax errors.
Here is the script, you simply need to put this code in a text file and rename it with a .pl extension and just that simply you
are able to automate MapPoint without needing an expensive development tool.

use Win32::OLE qw(in with);


use Win32::OLE::Const;
use Win32::OLE::Const 'Microsoft MapPoint';
$Win32::OLE::Warn = 3;

# die on errors...

@states =
("Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut",
"Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas",
"Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota",
"Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey",
"New Mexico","New York","North Carolina", "North Dakota","Ohio","Oklahoma","Oregon",
"Pennsylvania","Rhode Island","South Carolina","South
Dakota","Tennessee","Texas","Utah",
"Vermont","Virginia","Washington","Washington, DC","West
Virginia","Wisconsin","Wyoming");

my $MapPoint = Win32::OLE->new('MapPoint.Application', 'Quit');


my $Map = $MapPoint->NewMap();

for ($i = 0; $i <= 5; $i++) {


my $Results = $Map->FindPlaceResults($states[$i]);
print "$states[$i]\n";
my $Location = $Results->Item(1);
$Location->GoTo;
$Map->SaveAs($states[$i], 2);
}
$Map->{Saved} = -1;
The first few lines tell the Perl interpreter to include the Win32::OLE module required for communicating with MapPoint.
The next section defines the array of U.S. states. If you have the European version of MapPoint, replacing this with
County or Major City names should work fine.

The next section instantiates MapPoint and opens a new map. In Perl, Methods are called using the -> characters. In the
for loop that follows, FindPlaceResults is used to bring up each state in the array, "GoTo" the states and then save an
html file. Note the last lines, properties are set using the curly brackets {}.

That's it! The files that are produced include an html file and directory for each state and the image file itself is simply
called image_map.gif. Perl is great and file and directory manipulation, it would be trivial to get 51 gif files with the name of
the state such as North_Dakota.gif. Other Perl modules would give you ability to manipulate or re-size the image and ftp it
to a location or otherwise send it somewhere, create a PDF document with the map, and more. The applications are
endless, I would encourage any developer to peruse the available Perl modules and scripts on CPAN to add to your
arsenal of programming tools.

This article originally appeared on MP2K Magazine.

Adding a Dropdown Menu To a Web Page

by Linda Johnson, MOS


[IMAGE REMOVED]
If your homepage is like mine, you may find that you have so many links there that the page is becoming way too big and
cluttered. An easy way to fix this is to use a dropdown menu so you can include many links without taking up half the
page to include the list. A dropdown menu lets you include as many links as you want and only uses up a small
percentage of the screen “real estate”.

The HTML code to do this is quite simple and can be inserted anywhere on the page, between the <BODY> and
</BODY> tags.

The code basically looks like this:

<form name="jump">
<p align="center">
<select name="menu">
<option value="URL">Text that will appear in the choices</option>
<option value="URL">Text that will appear in the choices</option>
<option value="URL">Text that will appear in the choices</option>
<option value="URL">Text that will appear in the choices</option>
<option value="URL">Text that will appear in the choices</option>
</select>
<input type="button"
onClick="location=document.jump.menu.options[document.jump.menu.selectedInde
x].value;" value="GO">
</p>
</form>
The sample above would give you five choices in the dropdown list (but you can add as many as you like) and a button to
click that says “GO” so the user can make their choice and click on the button to go to that page. The button can say
anything you like, simply change the word “GO”, where it says value=”GO” in the line that designates the input type to
whatever you want. Also, if you don’t want the dropdown centered on the page, change the <p align="center"> to <p
align="left"> or <p align="right">.

You can include pages within your website or pages outside of your website. I made a simple one which includes links to
pages in my site (personal-computer-tutor.com) and also links to Mousetrax, Microsoft, and Yahoo. The code looks
like this:

<form name="jump">
<p align="center">
<select name="menu">
<option value="http://mousetrax.com">Mousetrax</option>
<option value="http://yahoo.com">Yahoo</option>
<option value="http://microsoft.com">Microsoft</option>
<option value="http://personal-computer-tutor.com">Linda's Computer
Stop</option>
<option value="http://personal-computer-tutor.com/abc">ABC Newsletter</option>
</select>
<input type="button"
onClick="location=document.jump.menu.options[document.jump.menu.selectedInde
x].value;" value="GO">
</p>
</form>
The choices in the list will show in the order you have them listed in the code and the top choice in the list is what will
show in the box before they use the dropdown to select one. So, if you don’t want to have any of the choices show by
default, you can add the text “Choose One” and set that as your selected option by adding this as the first option in your
list:

<option selected>Choose One</option>


This way, if they click the GO button while “Choose One” is still displayed in the list, they will simply stay at the page they
are on, because the “option selected” tag includes no URL.
The complete code now looks like this:

<form name="jump">
<p align="center">
<select name="menu">
<option selected>Choose One</option>
<option value="http://mousetrax.com">Mousetrax</option>
<option value="http://yahoo.com">Yahoo</option>
<option value="http://microsoft.com">Microsoft</option>
<option value="http://personal-computer-tutor.com">Linda's Computer
Stop</option>
<option value="http://personal-computer-tutor.com/abc">ABC Newsletter</option>
</select>
<input type="button"
onClick="location=document.jump.menu.options[document.jump.menu.selectedInde
x].value;" value="GO">
</p>
</form>
Note! The form name I have chosen is “jump” and the select name is “menu”. You can use any names you want, but be
sure they are the same in the input type line. Also, if you want to put more than one dropdown menu on a page, they
must have different form names or they will not work correctly.
Here’s the same code, where I changed the form name to “hop” and the menu name to “choose”. I also changed the
button text to “Take me there!”:

<form name="hop">
<p align="center">
<select name="choose">
<option selected>Choose One</option>
<option value="http://mousetrax.com">Mousetrax</option>
<option value="http://yahoo.com">Yahoo</option>
<option value="http://microsoft.com">Microsoft</option>
<option value="http://personal-computer-tutor.com">Linda's Computer
Stop</option>
<option value="http://personal-computer-tutor.com/abc">ABC Newsletter</option>
</select>
<input type="button"
onClick="location=document.hop.choose.options[document.hop.choose.selectedInde
x].value;" value="Take me there!"></p>
</form>
If you go to this page, you can see the simple dropdown menu I created using the first code:
http://personal-computer-tutor.com/dropdown.htm
And this one uses the second code:
http://personal-computer-tutor.com/dropdown2.htm
Also, if you prefer not to have to write your own code, there are lots of free dropdown code generators on the net that will
do the job for you. Here’s one that works well:
http://www.htmlbasix.com/dropmenu.shtml
If you are a newbie to HTML, I assure you this will work. I am not proficient in HTML either. I’m a FrontPage user, so if I
can do this, so can you.
Happy Coding!

Everything You Need to Know About Response.Redirect

by Adrian Forbes, MVP


[IMAGE REMOVED]

• Basics of Response.Redirect
• Why can't I...
o ...redirect to a frame?
o ...POST variables when doing a redirect?
• Is there an alternative?
Basics of Response.Redirect

When you request a page from a web server, the response you get has some headers at the top, followed by the body of
the page. When viewed in your browser the headers are never seen, but are used by the browser application. I have the
following page called test.asp

<%@ Language=VBScript %>


<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>

<p>Hello</p>

</BODY>
</HTML>
When I request that from the web server this is the reply I get;

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Mon, 19 Mar 2001 15:07:44 GMT
Connection: close
Content-Length: 134
Content-Type: text/html
Set-Cookie: ASPSESSIONIDQQGQQJWO=OMCJFABDNCDLLBKAPNHJBKHD; path=/
Cache-control: private

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>

<p>Hello</p>

</BODY>
</HTML>
The first line returns the status of the response, in this case "200 OK" which means everything is fine. The following lines
are headers, these are in the format of
Name: Content
So in our example the web server is identifying itself as Microsoft-IIS/5.0, it also sends its date and time, the content type
and it also instructs the browser to store a cookie. This cookie contains your session ID and is used by IIS to remember
who you are. After the headers there is a blank line then the actual HTML to be shown in the browser.

If I request a page that does not exist then we get this back;

HTTP/1.1 404 Object Not Found


Server: Microsoft-IIS/5.0
Date: Mon, 19 Mar 2001 15:11:54 GMT
Connection: close
Content-Type: text/html
Content-Length: 3243

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">


<html dir=ltr>

<head>
<style>
a:link {font:8pt/11pt verdana; color:FF0000}
a:visited {font:8pt/11pt verdana; color:#4e4e4e}
</style>

<META NAME="ROBOTS" CONTENT="NOINDEX">

<title>The page cannot be found</title>


...
As you can see, the status is now "404 Object Not Found" and the HTML is generated for us by the web server. So the
web server uses different response status types to inform the browser the nature of the response itself. Let's modify our
test.asp code to read this;

<%@ Language=VBScript %>


<%
response.redirect "test2.asp"
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>

<p>Hello</p>

</BODY>
</HTML>

Note the code at the top of the page that does a "response.redirect". If we request this page we get the following;

HTTP/1.1 302 Object moved


Server: Microsoft-IIS/5.0
Date: Mon, 19 Mar 2001 15:16:35 GMT
Connection: close
Location: test2.asp
Content-Length: 130
Content-Type: text/html
Set-Cookie: ASPSESSIONIDQQGQQJWO=ANCJFABDFLBLHMKIJOIOKJDM; path=/
Cache-control: private

<head><title>Object moved</title></head>
<body><h1>Object Moved</h1>
This object may be found <a HREF="test2.asp">here</a>.
</body>

The status is "302 Object moved" and note that the actual HTML following the Response.Redirect is not sent to the client.
After all, if the page is going to be redirected why send any content? When Internet Explorer gets this type of response it
gets the file to be directed to via the Location header

Location: test2.asp
And issues another request to get test2.asp. IIS does something clever for us here as well; just in case your browser does
not understand 302 headers it generates HTML giving the user a link that they can manually click on. If you are going
through a firewall you may have actually seen this code sometimes in your browser. However Internet Explorer does
understand 302 headers so shows no page, but simply requests the new page instead.
That is the simple mechanism where by the web server responds to your requests for pages, however IIS gives us two
delivery mechanisms; buffered or non-buffered. When buffering is off IIS sends HTML to the client as it is generated. With
buffering on, IIS holds all HTML in a buffer until the page has finished processing, it then hands the HTML to the client in
one big batch.

Try this code;

<%@ Language=VBScript %>


<%Response.Buffer = true%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>

<%
for i = 1 to 10000
Response.Write i & "<br>" & vbCRLF
next
%>
</BODY>
</HTML>
Notice that we are programmatically setting the buffering mode to True, i.e. we want the page buffered. When you
navigate to this page the browser will sit and wait, and all of a sudden you'll see 10000 lines in your browser. If you update
the code to turn buffering off;

<%Response.Buffer = false%>
Then you will see the page gradually grow in size until all 10000 lines have been written. Note that IIS4 and IIS5 have
different default options for buffering. In IIS4 it is off by default, and in IIS5 it is on by default. This means that if you omit
the "Response.Buffer =" code then IIS4 will default to false, and IIS5 to true.

Lets look at how buffering and redirection can come into conflict. In the following sections I'll explicitly turn buffering on or
off so that the code works the same under IIS4 and IIS5.

Update test.asp to read;

<%@ Language=VBScript %>


<%Response.Buffer = false%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>

<p>Hello</p>

<%
response.redirect "test2.asp"
%>

</BODY>
</HTML>
The response.redirect is now mid-way through the page. If we view this page we see the following in the browser;

Hello

Response object error 'ASP 0156 : 80004005'

Header Error

/Examples/test.asp, line 12

The HTTP headers are already written to the client browser.


Any HTTP header modifications must be made before writing page content.
Why do we get this error? Remember that a normal page is sent with "200 OK" in its response headers, and a redirect is
"302 Object moved". When IIS hits the first piece of HTML output;

<HTML>
it deduces that this is a standard "200 OK" page and that the browser should be sent output as it is generated. So it sends
this;

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Mon, 19 Mar 2001 15:07:44 GMT
Connection: close
Content-Length: 134
Content-Type: text/html
Set-Cookie: ASPSESSIONIDQQGQQJWO=OMCJFABDNCDLLBKAPNHJBKHD; path=/
Cache-control: private

<HTML>
As more HTML is generated it is also sent to the browser to be displayed. When it hits the response.redirect command it
has a problem. In order to re-direct it needs to send a "302 Object moved" header but it can't as it has already sent a "200
OK" header, thus the error about not being able to modify the headers.

Now change the code so that buffering is on;

<%@ Language=VBScript %>


<%Response.Buffer = true%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>

<p>Hello</p>

<%
response.redirect "test2.asp"
%>

</BODY>
</HTML>

And try again, this time it works. With buffering on, IIS stores all output in a buffer until the page has completed. So by the
time it gets to the redirect it will have this in its buffer;

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Mon, 19 Mar 2001 15:07:44 GMT
Connection: close
Content-Length: 134
Content-Type: text/html
Set-Cookie: ASPSESSIONIDQQGQQJWO=OMCJFABDNCDLLBKAPNHJBKHD; path=/
Cache-control: private

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>

<p>Hello</p>
However it has not sent anything to the client yet. So when it hits your redirect it simply throws away anything in it's buffer
and replaces it with this instead;

HTTP/1.1 302 Object moved


Server: Microsoft-IIS/5.0
Date: Mon, 19 Mar 2001 15:16:35 GMT
Connection: close
Location: test2.asp
Content-Length: 130
Content-Type: text/html
Set-Cookie: ASPSESSIONIDQQGQQJWO=ANCJFABDFLBLHMKIJOIOKJDM; path=/
Cache-control: private

<head><title>Object moved</title></head>
<body><h1>Object Moved</h1>
This object may be found <a HREF="test2.asp">here</a>.
</body>
That is sent to the client and the browser can be redirected.

So to avoid the error when doing a redirect, either put the redirect before any output, or turn on buffering. Remember that
if you are using IIS4 you have to turn on buffering programmatically, if you use IIS5 it is done by default. However if you
rely on buffering being turned on you should always explicitly add it to your code. That way you won't get problems when
you move to a different web server or when Microsoft decides to change the default again. You can also configure
buffering to be on or off by default via the IIS MMC.

Why can't I...

...redirect to a frame?

HTTP is a request/response technology. The browser requests a page from the server, and the browser displays the
response. For a page to appear in a frame, it is that frame that must make the request. You can't make a request in one
frame and have the response piped to another. Only the requester can get the response.
To work around this you should create HTML that does the frame manipulation on the client;
<html>
<body>

<p>My page is here</p>

<script>
parent.targetframename.location.replace('page2.asp');
</script>

</body>
</html>
This will cause "targetframename" to request page2.asp, thus showing the response in that frame.

...POST variables when doing a redirect?

When you submit a FORM with the GET method, your browser does not do anything clever, it simply appends the FORM
elements to the end of the page in the ACTION parameter. When you submit a FORM using the POST method an entirely
different mechanism is used. When your browser gets the 302 response, it reads the new location from the Location
header and simply requests that page. You can simulate a GET submission by simply tagging on the parameters yourself,
thereby emulating what the browser does. So if you do;

<%
Response.Redirect "test2.asp?myparam=123"
%>
the resulting header looks like this;

HTTP/1.1 302 Object moved


Server: Microsoft-IIS/5.0
Date: Mon, 19 Mar 2001 15:16:35 GMT
Connection: close
Location: test2.asp?myparam=123
Content-Length: 130
Content-Type: text/html
Set-Cookie: ASPSESSIONIDQQGQQJWO=ANCJFABDFLBLHMKIJOIOKJDM; path=/
Cache-control: private

<head><title>Object moved</title></head>
<body><h1>Object Moved</h1>

This object may be found<a HREF="test2.asp?myparam=123">here</a>.</body>


So the browser requests "test2.asp?myparam=123", thus passing on your parameters. Emulating a POST, however, is
not that simple and the Redirect process simply does not support it.

The workaround is similar though, you should generate the appropriate HTML to do the job yourself;

<html>
<body>

<form name=frmTest action=page2.asp method=POST>


<input type=hidden name=txtMyVar value="Hello">
</form>

<script>
document.frmTest.submit();
</script>

</body>
</html>
The problem with this is that you are relying on scripting support from the client.

Is There an Alternative?

Yes, IIS5 gives us an alternative to doing a response.redirect. You can now use the Transfer or Execute method of the
Server object. So instead of doing response.redirect "page2.asp" you can simply server.transfer "page2.asp". It is all done
at the server so will work even if you have already sent some output to the client.

Another option is to emulate a redirect using a COM object that lets us request another ASP page within our script code.
For more details on this see the FAQ article at;

How do I read the contents of a remote web page?

As the Worm Turns...Your Computer into a Zombie

by Greg Chapman, MVP


[IMAGE REMOVED]
The last two weeks have allowed me less than the required allotment of sleep time due to some highly effective security
exploits. But unlike most computer pundits you’ve been listening to recently, I’m not going to lay the blame completely at
the feet of software vendors. Granted, some of the holes exploited by the worms and viruses are simply inexcusable
(there is NO acceptable explanation for a body of code experiencing a buffer overflow, the basic method used by the
MSBlaster worm). And some of those vendors, the anti-virus vendors in particular, are guilty of indefensible claims that
they could have prevented these outbreaks. They couldn’t, of course, since their products are extremely inefficient at
predicting the presence of a viral body and only effectively protect your system from known infection types. But, by far, the
single greatest flaw which has allowed these worms to run rampant has been the ignorance of you and I, the body of
users from whose machines these malignancies propagated.

During this rush to patch and shut down infected systems, I’ve again run across another phenomenon which never fails to
astonish me. It comes from administrators and help desks and it is highly offensive; "Users are too stupid to learn how to
protect themselves, to clean their own infected systems, and to follow simple directions." Of course, the assertion is based
on singular events in their careers and is applied generally to the user base. The attitude also has a huge foundation in
laziness.

I’d like to attack each one of those points and win completely. In order to do that, I’ll lay out the basics of how you, the
user, can modify your behavior and succeed in the battle against worms, Trojans and viruses despite those insulting
barriers thrown up by the folks who are paid to help you. Some of these suggestions are highly controversial amongst the
more religious computer users. For those folks, please, just follow along and consider things along a subjective line.

Let’s Start by Modifying Our Behavior

These are the simplest rules to follow

• In your email application, create a signature and use it. Most worms do not create a new message which uses
your signature.

• Make sure all your correspondents know you use a signature and why you want them to know it (if you get email
from me that has an attachment and there is no signature, do not open the attachment!).

• Always warn your recipients that you’re going to send them an attachment before actually sending it. Doing this
means they don’t have to guess whether the attachment that comes on the next message is infected.

• Do not assume that the infected mail actually came from soandso@hotmail.com. 2001 saw the first email virus
in which the originator address was spoofed. And, as a result, I have some highly educated, but foolish, in-laws
who still believe my machine was infected and sent them a virus. They were socially engineered, I wasn’t. I’m not
too upset, though, that they have my domain blocked. They had another bad habit and haven’t learned any better
that they really shouldn’t forward all those chain emails, etc. (see Dian’s “Please Forward This to Everyone You
Know!!” article. I’m a little thankful to not get email from them anymore.

• Oh, yeah! Don’t make a habit of forwarding mail to huge volumes of recipients. Suddenly, doing so makes you as
poorly behaved as most viruses. I already know that the little boy in the bubble message is a hoax.

• Check every scary message as a hoax until you know better. Suddenly getting mail from the long lost son-in-law
of the President of some forgotten African nation? Still worried about the bubble boy? How about HIV infected
needles or tabs of LSD in the coin return slot of a public telephone (geez, those things still exist?). Learn about
Internet Hoaxes at HOAXBUSTERS (http://hoaxbusters.ciac.org/). This is a federally funded site (U.S.
Department of Energy) with a wealth of information about hoaxes that just won’t die.

• Subscribe to a security mailing list or visit security sites. SecurityFocus.com, NTBugTraq.com, itsecurity.com, The
Computer Emergency Response Team (CERT) of Carnegie-Mellon University (http://www.cert.org) ...all are
excellent sources of information about current threats and techniques by which to mitigate today’s hot Internet
threats.

But these rules, by themselves, are not enough to succeed in avoiding infection. Here are some slightly more effective
and equally important User’s Rules for Internet Computing.

Basic Preventative Techniques

1. Keep your operating system up to date—Patches

At this time, the most explosive worms are aimed at the Lowest Common Denominator (LCD) user. There is no
doubt that the single largest installed base of operating systems on the Internet today are Windows based
systems. Once exploited, a single Windows system becomes the catalyst which spreads the infection to other
Windows machines. For several of these viral outbreaks, the simplest thing to do is to make a weekly visit to
http://windowsupdate.microsoft.com and get your system scanned for missing security patches and Service
Packs. And, for Pete’s sake, install those patches. Oh! Remember to reboot after they are applied. Many patches
do not take effect until after the system has had a refreshing reboot!

2. Install the Windows Update tool (Automatic Updates)

(http://www.microsoft.com/windows2000/downloads/recommended/susclient/default.asp)

To make it even easier to stay patched, Microsoft offers the Windows Update tool from this site. Now, you may
have heard arguments to the effect that automatically allowing this tool to patch your machine is foolish because
many patches break systems or from the fear that your personal security is compromised by allowing Microsoft to
automatically do anything to your system.

These are valid concerns. But, so far, they aren’t accurate. In fact, as time goes on, both assertions are,
thankfully, losing validity. Service Packs for Windows systems are becoming incredibly reliable (I haven’t lost
functionality due to a Service Pack in almost 3 years with only a single exception. That’s much better than past
experiences with Windows NT 4 when I could expect to lose 2-3 systems to a failed Service Pack installation).

From the security aspect, vigilance is the only cure. You should always be suspicious of allowing any entity
unrestricted access to your system. I, however, find it to be amazingly inconsistent of people for them to
automatically accept updated anti-virus files from their Anti-Virus vendor on a weekly basis but not accept updated
OS files from the OS vendor. If you’ve installed Kazaa on your system and you still have this attitude against
Automatic Updates, you’re proving those bad-attitude administrators and Help Desk personnel to be correct.
Tools like Kazaa install SpyWare and essentially turn your computer into a public use distribution center for all
manner of nasty code...and no one is asking your permission to do so after you installed the product. The same
goes for IRC users. If you’re using IRC, you’ve educated yourself how to do so safely (I hope). To use either of
these programs and not use Microsoft’s Automatic Updates because “You can’t trust Microsoft!!” is comedic.

3. Using an old Operating System? Upgrade, by gum!

Admittedly, if you’re working with the operating system issued you by your IT shop, you’re stuck. If you’re on an
old machine, you’re probably also stuck (assuming you prefer to stick with Windows). But if you’ve newer
hardware and you’re running Windows 98, your job of staying up to date on your system’s security is a much
bigger challenge than if you’re running Windows XP.

Yes, moving ahead costs you time and some money. But ask yourself this question: If you don’t update your
system to keep up with the threats of the day, the odds of losing a system to a security exploit go up. Which is
more likely: you’ll have to clean or rebuild an old system damaged by a worm –OR- you’ll have to fix or rebuild a
system due to a faulty patch?

4. Never, ever, connect a Windows system directly to the Internet

Using a modem? Install a personal firewall. There are several available from a variety of vendors. McAfee
(http://www.mcafee.com), Symantec (http://www.symantec.com) and a variety of other offerings are out there
and go a long way toward shielding your system’s open ports and services from indiscriminate harvesting by
worms and hackers. Another popular offering along this line is from ZoneLabs
(http://www.zonelabs.com/store/content/home.jsp) called ZoneAlarm.Is your machine connected to the
Internet by DSL, Cable or some other broadband provider? Use a hardware router instead of a soft firewall.

By far, little home networking routers are much more reliable, robust devices and greatly complicate the matter of
getting a worm onto a system or stealing information from it. Some broadband providers already have these
firewall functions built into the equipment they install on the premises. Ask your provider if the device they
installed provides firewalling. If it does, you’re covered. If it doesn’t, immediately shut your system down and get
down to your favorite computer store to pick up one of these devices. Often, they cost the same or slightly more
than the software variety of firewall. But, in addition to being much stronger solutions, they effectively firewall all
the computers on your home network and, when they do fail, they fail in such a way that your systems are not
reachable from the Internet. Software firewalls often fail in a much worse way by completely shutting down and
leaving your system completely exposed to the Internet.

5. Don’t assume the only way to get a virus or worm is via email

If you made this assumption and hadn’t already followed Items 1-4, well, I’d be willing to bet that July, 2003 was a
little painful and embarrassing for you. The MSBlaster worm executes against a flaw which merely requires that
your system be connected to the Internet with port 135 open and that your system is unpatched against
Microsoft’s security alert, MS03-026 (http://www.microsoft.com/security/security_bulletins/ms03-026.asp).
No email required.

6. You have Anti-Virus software installed? Good. Don’t trust it.

I’ll admit this advice sounds strange so let’s consider the statement in more depth. Anti-Virus software protects
you only against known viruses. The so-called Heuristic systems these tools use are essentially research tools.
Heuristic Anti-Virus software is an attempt to predict that a file or process is viral in nature...and it often falsely
identifies valid software as a virus. This is a ‘false-positive’ result and is as useless to you as not having Anti-Virus
software.

Also, consider that it often takes AV vendors a week to accomplish two key things in combating a new virus. First,
they only update the anti-virus definition list which you update your system with on a weekly basis. Second, in
those instances where the vendors do release a special update, the update is often raw and unreliable. In fact,
these updates are sometimes worse than the disease. I’ve had systems scrubbed so badly by these updates in
the past that recovery of the system required reinstalling the operating system. The virus I was attempting to clean
at the time carried no system damaging payload. Therefore, I feel safe in laying all the blame for a destroyed
system with the Anti-Virus tools.

Again, remember that Anti-Virus products only reliably protect you from known viruses and probably not this
week’s worm. Don’t abandon personal judgment to the idea that “I’m not worried. McAfee is installed and will
catch any new virus!”

7. Using a Macintosh? Linux? Don’t assume you’re safe

I know, I know, the argument is that Linux and the Mac simply aren’t vulnerable to hacks, worms and viruses. And
it’s completely false. Let me say that again: Macintoshes, Linux machines, UNIX variants and mainframes are all
vulnerable to hacks. Some are easier than others and none will prove to be any more difficult to exploit than a
Windows system.

Before you burn me in effigy (or stick pins in that little doll), consider these points. The first Internet worm was
executed against UNIX machines. It doesn’t matter if you believe more security exploits are identified against
Linux systems than Windows systems every month. The default installs of a Red Hat Linux system, until recently,
enabled more exploitable Internet services than Windows boxes and most had no business being exposed to the
Internet. Can you think of a reason for most Linux boxes to expose LPR (a printing protocol) to anyone on the
Internet? I can't either.

Net result? All systems are vulnerable. Assuming otherwise is safe only in the immediate future and definitely an
assumption carrying increasing risk. When, or if, Windows is displaced by some other system as the majority
installed base amongst computer users, we’re likely to see the number of attacks against these other systems rise
exponentially.

You’re on a Macintosh and think you’re safe? Well, if you’re running OS 9 or earlier, this is probably a safe
assumption since you’re a smaller target in the mind of most virus authors. Those of you running OS X, however,
may find yourself rudely awakened one day. OS X is built upon BSD, a UNIX variant. Someday the momentum
will change and your system may be the next default target.

8. “I don’t use Outlook for email. I am, therefore, immune to these attacks.”

This is another dangerous assumption and it’s here working against us today. First, as explained in item 5,
sometimes email isn’t the vector in use for a viral exploit. MSBlaster and Welchia don’t use your email program.
They don’t need it since they rely on other system services.

If you’ve kept your Office applications patched then you haven’t really been vulnerable to an Outlook exploit in a
couple of years. Go back and look at the email exploits executed in that time and you’ll see that darned few of the
most successful worms required Outlook.

In fact, the fastest spreading email virus to date, SoBig.f, doesn’t care what your email app is at all. It only
requires support for attached files which makes Lotus Notes, Eudora, Outlook, and Netscape, ad infinitum, equally
vulnerable. How? Because SoBig only requires you and Windows in order to succeed. It succeeds only marginally
through social engineering (convincing a user to take some poor choice) and depends heavily on more fully
exploiting each machine upon which it executes. In other words, fewer people need to activate the worm in order
to make the same size mess on the Internet. And in not a single instance was an email application required to
automatically fire the worm up. Only computer users launched this worm directly!

All the evidence about SoBig points to it being a research project. The engineer (yes, this studious approach to
the problem of propagating a worm deserves the title) creating this worm and evolving it over time is learning
based on the responses of both the computer users and the machines infected. Personally, I’d be thrilled if we
could make that bit of learning a little more difficult for that worm author.

The Nature of the Internet is to change

And there’s no doubt that it will continue to do so. Accepting that reality, we can conclude that the only things more
exploitable than our machines are us. We can conclude, then, that the first thing to do in an effort to make ourselves
immune to these threats is to change the way we think about using the Internet. Actively pursue changes to your habits.
Change the way you think about computer security. Make fewer assumptions. Create basic guidelines for your behavior to
create new habits. Other people will more easily know whether to trust that message which claims to be from you.
Next, change your habits about your computers and their maintenance. Protect them with firewalls, patch them. Stop
using weak logic to rationalize your computing choices. Actually think about how the machine is used and how it is
behaving in public. Have you adequately protected the system? Are those protections working or have they been
compromised? Do you know how to tell?

Following the behavioral guidelines and acting upon the basic system guidelines described in this article will easily reduce
your exposure to exploits. This is good for everyone and, while Yahoo may never get around to actually thanking you for
not becoming one of the next infected hosts that attacks their network, it will be appreciated all around the Internet.

Autoplay MP3 CDs

by Vic Ferri
[IMAGE REMOVED]
A frequently asked question when it comes to burning Mp3 CDs, is "How can I get my Mp3 CD to begin playing
automatically after I insert it into my CD-Rom drive"?

The answer is quite simple but, for some reason, not as widely known as it should be. Basically, all you need to do is
create a m3u playlist and then set it to autorun on your CD. In this article, I will demonstrate a 3 step bat file method which
requires no third party utilities and works on all Windows systems using whatever your default media player is for your
Mp3 playlists.

Before beginning, make a point to do all your work in the same folder containing the mp3 files you plan to burn.

Step One

Creating your playlist

You can either create a playlist from scratch or have your player create one and then edit it, as required.
The latter is the easiest way, but for your knowledge, I will first show how to create one yourself.
Open up notepad and enter this as the first line:

#EXTM3U

(This line begins all playlists and is just there as a descriptor of the format—which is m3u.)

Then directly under it (or you can leave a space if desired—doesn't matter) enter a list of the mp3 tunes you will burn on
your CD in the following format. (This requires some explanation, so first look at this sample and then I will explain.)

#EXTM3U

#EXTINF: Really Don't Know.mp3


01—Really Don't Know.MP3
#EXTINF: Ordinary People.mp3
02—Ordinary People.mp3

#EXTINF:Wonderful Remark.mp3
03—Wonderful Remark.mp3

#EXTINF:Not Supposed To Break Down.MP3


04—Not Supposed To Break Down.MP3

#EXTINF:Madame Joy.mp3
05—Madame Joy.mp3

#EXTINF: Contemplation Rose.MP3


06—Contemplation Rose.MP3

You will notice the Mp3 tunes are listed twice in each entry.

The first entry—the one after #EXTINF:—is the actual song name, not necessarily the file name. The song name is the
name that is embedded in the Mp3—in the ID3 tag. If the Mp3 has no ID3 tag naming the tune, then the file name will be
used by default, without the Mp3 extension. The second entry of the song on the second line is the actual file name. Make
sure, for all your entries, to enter only the file name, without including the actual path to it.

If you were to simply list your Mp3 file names without the #EXTINF: actual song name line, then the player would only
play the tunes that have a song name entered in the ID3 tag, and the rest would be skipped.

By the same token, you can just enter file names—yes, it can be that simple; but always test out the file first to make sure
it works by simply double clicking it to begin play.

Once you finish listing the songs, save the file with a m3u extension. In this demo, we will call it play.m3u.
Now for the easier way which is to create a m3u play list using your media player, and then open it with a text editor to
edit it. The only editing you will have to do is remove the paths to the song names.

You may also notice that when your player generates a playlist, the entries might look a little different, i.e.,:

#EXTINF:289,From A Distance.mp3
D:\Audio Work\Nanci Griffith\FromADistance.mp3

The number after the colon (:289) indicates the length of the song in seconds. So, in the above example, 289 translates to
4 minutes and 49 seconds. You would just leave it as is. As I said, all you have to do is remove the paths, so in the above
example, the final result would look like this:
#EXTINF:489,From A Distance.mp3
FromADistance.mp3

Using a text editor with a Find>Replace option makes it a snap to remove the paths if all the Mp3s are in the same
location. Just enter the path section to remove and replace with an empty string.

Ok, you now have your play.m3u file. Now test it by double clicking it. Your media player should begin playing the tunes
in your playlist.

Step Two

Now we will create bat file to execute your playlist.

Open up Window's own Notepad or any text editor. Enter the following 3 lines:

@echo off
start play.m3u
cls

Save with a .bat extension. For this demo, we will call it PlayIt.bat.

If you made this in Windows 2k or XP, your bat file is now complete.

If you made it in Windows 95/98/ME, you want to be sure the path of the the bat file is removed from the command line
field.

Right click the bat file, go to Properties, click the Program tab, and in the Command line field, remove the path name so
that just the file name remains, i.e., if the entry is C:\Windows\Desktop\PlayIt.bat, make it so it states only PlayIt.bat.
Also delete anything that is listed in the working field.

With Windows 9x, you also have the advantage of running the file minimized (with XP, you see the DOS box flash) To do
so, right click the bat file, go to Properties, and choose Run Mimimized and also make sure Close On Exit is chosen.
Save your changes. Doing the above will result in the automatic creation of a shortcut (pif file) in the same directory your
bat file is in. You will need this shortcut so do not delete it.

Now test the bat file by double clicking it. Your media player should begin playing your playlist tunes. (In Windows XP, you
will notice a flash of the DOS window but in the Windows 9x with the 9x bat file there will be no such flash since we set the
file to run mimimized.)

Step Three

Creating an AUTORUN.inf
This is the easiset step. This is the file that will start the bat file to begin the auto play of your Mp3 CD.
Open up Notepad or any text editor and enter the following:

[autorun]
open=PlayIt.bat

Save as AUTORUN.inf

DONE!

Now it's just a matter of burning the files you created, along with the Mp3's, to a DATA CD.

File recap:
If this was done in Windows 9x, you should have 4 files:

Play.m3u
PlayIt.bat
PlayIt (Dos shortcut)
Autorun.inf

If you did this in Windows 2000/XP, you should have 3 files:

Play.m3u
PlayIt.bat
Autorun.inf

Note! If you are using Windows 2000, ME or XP, and you plan to play your CD only on those systems, you can skip the
bat file and execute your playlist directly via your autorun file using the shellexecute command as follows:

[autorun]
shellexecute=Play.m3u

Also, if you are a Visual Basic dabbler, you can compile a simple exe (instead of a bat file) to call the playlist. Just use the
Shell or ShellExecute function to start play.m3u.
For more multimedia info, you may want to check out the few other articles I have written for ABC on audio and video
matters.

• Integrating Your Home Stereo System With Your Computer System


• Introduction to Video CDs
• Converting Your VHS Tapes To DVDs or CDs
Customize Your Windows XP Login Logo

by Dian Chapman, MVP


[IMAGE REMOVED]
If you're a Windows XP user, you've surely noticed the little images that display next to the names of each user who has
permission to login to your computer.
[IMAGE REMOVED]

Image 1: Simulation of Welcome screen with logos.

You may have noticed that you have the option of changing these images by selecting from a group of additional logos.
[IMAGE REMOVED]

Image 2: Windows display of stock login images.

However, did you know that you also have the freedom to customize your login logo by using just about any image you
want?
[IMAGE REMOVED]

Image 3: Dian's custom login icons.

Read on to see how easily your computer can be set up to greet you with your favorite picture—your kids, your spouse,
pets...whatever!

Finding the Right Picture

Windows will allow you to use just about any image you'd like as your custom Welcome Screen image. However, there
are a few considerations you'll want to think about...

The Size

You might have this really great photo that you'd like to use, but it's huge! There are lots of great photo editing programs
available. Personally, I prefer Paint Shop Pro (PSP). You can download a free, 30-day, trial version by clicking HERE.
Note! I wrote an article for Computor Companion Magazine that explains how to resize photos using Paint Shop Pro.
You can get to the article by clicking this link: Edit Digital Photos.

If you just double click the image, you'll discover what photo program is your default. By reading the above article, you
may find that your program has similar tools for editing, so it might help you get started.

The Subject

You might also have a great shot, but even if you resize it, you'll realize that the subject in the photo is too difficult to view,
because the subjects are very small in relationship to the overall image.
In that case you'll need to crop your photo—remove the excess portions of the image to make the subjects more
prominent.

Although PSP has a cropping tool, the easiest way to capture the portion you want from a photo, using PSP, is to use the
Selection Tool, draw a selection net (or marquee) around the part you want.

[IMAGE REMOVED]

Image 4: Photo in PSP with area selected.

Once you capture the portion of the photo you want, you can simply hit Ctrl/C to copy that selection to the Clipboard and
then hit Ctrl/V to paste it into a new image.

[IMAGE REMOVED]

Image 5: Newly selected area now displayed in it's own image window in PSP.

A quick resize, using Alt/I+E and you're ready to save the new image.

Note! Just incase you accidentally altered the original photo while you were making adjustments to your new seletion, be
sure not to resave the original, so you don't save changes you didn't mean to save!

Inserting a Custom Photo

Now that you've made any necessary adjustments, so that you have the best possible image to use, you just need to
choose it as your new login logo.

To do this, click Start/Control Panel and locate the User Account icon.
[IMAGE REMOVED]

Image 6: User Accounts icon in the Control Panel.

Click to open it. There you'll find all the User Accounts on your system. Click on the one you want to modify.
[IMAGE REMOVED]

Image 7: Display of accounts on Dian's system.

Once within the bounds of that account, you'll find options to make various changes. Use caution if you decide you want to
mess with any of these other options!

[IMAGE REMOVED]
Image 8: Display of Dian's account options.

Click the Change my picture option. This will take you to the Windows stock images. You won't see your photo listed
there. However, notice the option to Browse for more pictures. Click that option. A file dialog box will open which will
allow you to ferret around your hard drive to find the photo you want.

[IMAGE REMOVED]

Image 9: Windows User Account photo dialog.

Tada! Your image is now customized. Just close this windows. The next time you login to your computer, your new picture
will greet you!

[IMAGE REMOVED]

Image 10: User Accounts with revised images.

So now when you breakup with that boyfriend—it's easy to change to that new photo!<evil grin>

AOL: You’ve Come A Long Way, Baby! (Shopping)

by Alan Wheeler
[IMAGE REMOVED]
Part 4: Shopping: The Final Frontier!
This is intended as the final installment in the AOL accessibility saga. Some might argue I’m saving the best for last.
Why? Because I used AOL to go shopping.

Let me start by saying that, overall, I have been pleasantly surprised, and not just from the standpoint of accessibility. This
turned out to be a very fun, very cool experience.

You can get to the shopping area of AOL from anywhere just by pressing Ctrl-8. This brings up the “AOL Shopping”
dialog. From there, there are a number of choices, including: Apparel & Accessories, Beauty & Health, Books, Music &
Movies, and several others.

For the sake of this article, I chose to do what I do best: spoil my darling wife. I decided to go to the “Jewelry and
Watches” department.

The interface for AOL Shopping appears to be the AOL-enhanced version of Internet Explorer. Pages with numerous links
appeared when I made my choice. I discovered that, despite my assumptions to the contrary, I could use the links list
feature of JFW to list the links in a much more user-friendly fashion. I wouldn’t use this much, however, unless I was
familiar with the page, because of an excessive number of links on a given page in AOL Shopping.
After clicking on the link for “Jewelry and Watches”, I was taken to a page that featured links including rings, necklaces,
earrings, etc. Clicking on earrings, I was now taken to a page of categories, including gold, silver, diamond, pearl, and
gemstones. In turn, I was taken, after choosing the gem stones link, to a page featuring among other things, the obligatory
search box, links for finding local stores, or shopping on eBay, and even an A-Z directory. The link that made me curious
was “Shopping List”, which (it turns out) is a sort of wish list. More on that later.

This page also featured the first 9 products fitting the category of gem stone earrings. After double-checking with my
beloved on how much I could spend, I went on to paging through the selections.

The one minor drawback I noticed in the browser, and I discovered this for the first time while researching this very article,
is that you cannot, unlike in the regular Internet Explorer, tab from link to link. You have to arrow down the page to hear
the links one by one.

After finding just the right earrings, featuring both mine and my bride’s birth stones, I clicked on the link for it. There was a
very nice text description of the product, and links appropriate to ordering. I saw a link labeled “add to shopping list”, and I
clicked on it. This is when I discovered that this was the AOL equivalent to a wish list. You can consult this “Shopping List”
yourself, make it publicly available (though I’m not sure why you’d want to), or even e-mail it to people you know who
would be interested in reading it.

Knowing there were other, real life tasks beckoning to me, I chose to use the shopping list so as to be able to come back
later.

To my surprise, moments later, I received an e-mail from “AOL Shopping” thanking me for setting up a shopping list. I love
this feature…both the shopping list, and the welcoming e-mail. I just think it lacks one thing: a link to access your
shopping list. Obviously, this isn’t an accessibility issue, because everyone, blind or sighted, could benefit from such a link
within an e-mail like this. It’s a mere nuisance, though, because when you’re in the AOL shopping area, it’s very easy to
access your shopping list, as every page has a link for it.

Once you’ve accessed your shopping list, the page for your list has links for all the items on your list. Each item has three
links, one labeled with the name of the product, and then a “ready to buy” link, and a “remove” link. The bottom of the
page also has a “clear my list” link, if you want to scrap your list and start from scratch.

Now, up to this point, I was very happy. Then, a nightmare combination of accessibility problems and inconvenient
approaches on AOL’s part conspired to frustrate me to the point of wanting to pull out my hair.

First of all, when I was ready to check out, a potentially convenient service of AOL came into play. It’s called “quick
checkout”. A dialog appeared informing me that quick checkout could fill out the order form (the jewelry vendor in this
case was the macys.com web site) with the billing information for my AOL account. This seemed extremely useful…until,
that is, the Macy’s site needed the credit card verification number. This is a three or four digit number on the back of your
credit card. Being as this is in print, and I didn’t remember the number, I had to (again) postpone my purchase.

Now, the real fun began. To the best of my knowledge, there was one way to get back to the point I was at when I had to
quit in mid-purchase. I assumed the sole way to do this was to re-trace my steps to get there to begin with. Not so. It didn’t
help that the “shopping bag” (Macy’s answer to the web site shopping cart) isn’t labeled clearly enough to give a blind
user the clue that it’s the shopping bag. When you first see this link on the page it says “1 item”, or whatever, based on
how many items you have in your “bag”.

If I had known this to begin with, I wouldn’t have added 2 other pairs of the same earrings to my order. Thankfully, the
extra pairs were easily removed.

My other problem was that, during my numerous attempts to make my purchase, JAWS would randomly crash on me,
forcing me to have to re-start my computer. So, the process had to begin from scratch.

Okay, so I get to a point where I can use my “AOL Wallet”, and this quick checkout, and I set up a quick checkout
account. I did this—convinced I had used a memorable password. Apparently, I either didn’t remember it, or didn’t enter it
properly, because the system didn’t recognize the password I entered as valid. When I tried two other ones I commonly
use (just in case), I got what I will call a “three strikes” message. At this point I was directed to answer the security
question I had set up with the account.

Well, it would appear that I had the same problem(s) with my security answer, because I was, to my surprise and
frustration, locked out of my account for 24 hours! I admit, I may have made an error in typing the password, and/or the
security question answer, but I am usually very careful, and have a decent memory as to my choice of password. I
mention this because I am inclined to believe (for the moment) that there was an error on AOL’s end.

Needless to say, I think it would be much easier to just go to a local Macy’s and buy the earrings at this point. I’ve had
much better luck with my non-AOL on-line purchases. I will admit, however, I am not sure how much of this is related to
the AOL wallet feature, and how much is related to me possibly forgetting the correct password. User error is a distinct
possibility.

A Summary of AOL and Accessibility

So, here we are, at the end of our AOL journey. Overall, I find AOL to be fairly accessible, and to be making a strong effort
to live up to their promises to make the AOL service more user-friendly to blind computer users. Sure, there are glitches,
and whole areas, that need vast improvement in their accessibility. As a whole, though, I can honestly tell any blind
person who is interested in using the Internet that I can recommend AOL as a viable and accessible ISP alternative.
Naturally, I give them several caveats, but then I leave it up to them to choose.

So, AOL, you’ve come a long way, baby, and you do have a way to go, but you’re getting there.
[end of articles, the following contains standard information about techtrax and
copyright details for use of any of the information found in this document.]

About TechTrax Ezine


[IMAGE REMOVED]

TechTrax is a free, monthly Ezine (online magazine) published the beginning of each month. TechTrax is geared toward
anyone who wants to learn more about using computers, with a highlight on Microsoft technologies. TechTrax also makes
a point to focus on issues of accessibility. The range of overall subjects and user level articles here in TechTrax are far
reaching to cover a wide audience. From newbie to black belt articles; be sure to check our Archives to see what you
may have missed!

Volunteers Who Share

TechTrax is brought to you by MouseTrax Computing Solutions and the many talented writers who volunteer their
talents, knowledge and experience to help you learn. TechTrax writers are highly skilled in their fields of expertise, many
being Microsoft MVPs and/or holding various technical degrees or certifications, such as MOS (Microsoft Office
Specialist). Also, besides their technical expertise, some of our writers live the experience of being blind and/or disabled
PC users, giving them an expert voice on accessibility issues.

In return for their time, our writers appreciate your thanks and want you to remember that many of them make a living
through consulting. So when you're looking for a highly skilled expert to help you tackle your next technical challenge, be
sure to check out our Consultants page to view their various skills. Or just send an email to techtrax@mousetrax.com
and let us know what project challenges you're facing. Chances are that one of our writers can provide you with the
consulting assistance you need. To date, our writers have helped many professionals solve their daunting project issues
—saving them the time and money from having to hire on-site staff.

If you would like to become part of our writing team and share your knowledge by having your article(s) included in
TechTrax, contact Dian Chapman at dian@mousetrax.com.

Copyrights

All articles contained in each issue of TechTrax are the copyrighted property of the individual author and TechTrax Ezine.
You are free to use these articles for your own personal learning experience. However, you may not reproduce or
republish these articles without first obtaining written permission from the author of the article. Click any author's name
to view their bio and locate their email address or write to techtrax@mousetrax.com for assistance.

NOTE! Above and beyond your written agreement with the individual author, all authorized reprints/republications of any
articles from TechTrax must include this line:
"This article is reprinted with the author's permission from TechTrax Ezine at www.MouseTrax.com/TechTrax/."

Link to TechTrax

If you would like to provide your web site visitors with premiere tutorials, without the hassle of dealing with Copyright
permissions, you can freely link to TechTrax or any individual article you wish. Show your visitors that you know where to
find the best information on the web by freely linking any TechTrax article to your site.

However, if you'd prefer to use our current issue link, just copy the code below to your web site. The code below will
cause this image to be displayed on your site, along with a link to jump to our site, which will open in a separate browser
window.

[IMAGE REMOVED]

Link Back!
If you do include the following code on your web site, let us know and TechTrax will link back to your site via our
Associates page. There we run a list of all the wise webmasters who keep their visitors informed with a link to TechTrax.
Email us at techtrax_links@mousetrax.com and provide us with the URL to your site where you've linked TechTrax and
we will include your site on our Associate's page.

Copy this HTML code to your web site to link to TechTrax and let us know so we can link your site!

<a href="http://pubs.logicalexpressions.com/Pub0009/LPMIssue.asp?ISI=0" target="_blank"><img


src="http://www.mousetrax.com/images/TechTraxLink.jpg" width="202" height="77" border="0"
alt="TechTrax, a premiere learning source!"></a>

Subscribe

Of course, you can just show up each month to see what's new. But if you prefer a little tap on your shoulder to remind
you it's time to learn more, you can subscribe. When you do subscribe, we'll send you a quick reminder notice each month
when the new issue of TechTrax is available online. Or, if you prefer, you can subscribe to our home delivery service.
With this option, we will email you a zipped, Word document version of the new TechTrax issue each month. However,
know that this Word doc format has had all images removed to optimize it for screen reader users who do not require the
additional eye candy and also to make it smaller for portability with MP3 readers.

You can subscribe with either option via our main access page at www.mousetrax.com/techtrax.

If you need to unsubscribe a particular email address, please also go to the above link and use the unsubscribe link from
the address you wish removed.

Or you can subscribe/unsubscribe to TechTrax by sending an email to:

subscribe_techtrax@mousetrax.com
unsubscribe_techtrax@mousetrax.com

Offline Reading

If you prefer reading the online version of TechTrax, but are concerned about online Internet charges, know that you can
set Internet Explorer to download the full, current version by using Microsoft Internet Explorer's subscription feature. This
will check the site for updates upon your request and will download a full version of the current online version that you can
view offline with the same links as if you were still connected to the Internet, but without the online cost.

You'll find instructions for setting up Internet Explorer's subscription feature on our main access page at
www.mousetrax.com/techtrax.

All contents of this document and the online version are copyrighted.
Copyright 2002 by MouseTrax Computing Solutions, http://www.mousetrax.com, Chicago, IL.

[END OF MAGAZINE]

You might also like