No macro commands for "repeat", "pause", "find and replace" from l

P

pdalton

I imagine you’ve probably heard this before and that I’m just wasting my time
and yours, but I really hope someone understands this issue and takes some
steps to help. Earlier in the week, I was still at the office around
midnight trying to finish up creating a document under a deadline and, once
again, tried to accomplish something in Word and finally just gave up, as I
have done MANY times before. It is -- to me -- one of the most frustrating
things about Word: the "non-intuitiveness" of trying to do something with
even just a little complexity using Word macros.

I'm a daily use of Office 2003 -- mostly Word & Outlook. My business
certainly is not programming, and I am not a programmer;, but from time to
time, there are things I need to get done that seem like they could be more
efficiently handled by a macro; so I "record" macros to do a bunch of
relatively simple things.

As long as it is something that can be "recorded", I'm OK. But I'm out of
luck if I want a macro to do things like:

- “Repeat†those recorded events over and over and stop doing it at a stated
ending point. For example, such as “until the end of the document (or
paragraph, line, page, the last occurrence of x, etc.).†This would be
actions (or groups of actions) that couldn’t be accomplished by just using
“Replace Allâ€
- “Move†the cursor to the next instance of a specific word or character (I
can see how to do it to get to places like the end of a line, the next word,
the next paragraph, etc., but not to a specific word or character);
- "Pause" and wait for me to insert text from the keyboard, then return to
further execution of the macro; it would be great if this one, in particular,
were set up so that it could be done at the Recorder (a button on the
recorder to pause the macro’s execution until “Esc†or some other key is
pressed to then allow the macro to continue on with its execution.
- Perform something like a "find and replace" using a long list of target
words (like "find and replace" every "abc" with "def" and find and replace
every "ghi" with jkl", etc., etc., without having to create a macro that ends
up containing thousands of lines (Actually, over 3,000 lines for one that I
use almost every day) because, in addition to the word to be “found†and the
word to “replace†it with, I've had to add another 5-6 lines of the identical
macro "code" for each "find and replace" pair of words – it seems like there
ought to just a single command word that will understand it’s to do something
like “for each string in Column A, Replace it with the string in Column B†;
And, over the years, there have been many other times when I felt that the
idea seems so simple but the language ("VBA?â€) doesn't have the simple to
understand commands to accomplish these things directly and easily. Each of
those above seems like something for which a "macro" facility ought to
include a simple command. But -- as far as I can tell -- these sorts of
things weren't put into the macro language at all. Sure, I understand that
there must be ways to accomplish these things by complicated macro
programming, but these sorts of things seem to me to be things that ought to
be in there to let users such as I use them without having to become a Macro
expert.

If I had the time -- which I certainly don't -- I'd probably try to find and
take a class on VBA; but, honestly, the problem is that, even if I did that,
because I would actually use any particular part of VBA so rarely that I'd
likely forget what I learned about it by the time that I found myself once
again at a position where accomplishing "X" is what I need to do. It just
needs to be simpler for normal users to do these sorts of things!!

So I guess what I'm saying is -- can't you add into the macro facility in
Word these sorts of "missing" simple commands that would be easy for normal
people to recognize? Here they are again:
- "pause" ("pause the macro execution until an identified key combination is
pressed, and then resume execution); and
- "repeat" (execute the same action or set of actions until an easy to
understand location is reached or event has occurred, such as "end of
document, page, paragraph, etc.†or "can't find anymore", etc.);
- (I can't think of a short name for this one) "execute the following
actions on each of the entries listed at X:/substitute.txt" (where that
document is a list (maybe in a two column table) with both the “find†text
and the “replace†text.
I believe there probably are several others of these sorts of functions that
seem-- to an ordinary user -- to be the sort of things that one shouldn't
have to be a degreed programmer or certified as a Microsoft "MVP" to
accomplish.

Whether it's Word, Outlook, Excel, or any of the other pieces of Office -- I
think a lot of us who comprise "the great unwashed" (explained at
http://www.economist.com/displaystory.cfm?story_id=5065558 as being the
"default" users) would really appreciate.

In all likelihood, some (if not all) of the concepts I described already ARE
in VBA; but, if they are, it is not at all intuitive or easily decipherable.
For example, I can't "get" "LOOP" from the instructions in the Help file.

Probably, it wouldn't take much at all for the experts at Microsoft to make
available these sorts of commands in the VBA "language" for Office 12. Or,
it might be easier if someone would re-write the “Help†sections to explain
better those commands that are used to accomplish these things. “Spare: and
“obtuse†are two words that explain the current Macro Help information.
I believe it is the sort of enhancement that would be far more appreciated
by most users than adding more esoteric functionality/features.

pdalton
(e-mail address removed)

(PS: the ~3,000 lines of code are in a macro that assists in the
re-formatting of documents downloaded from the web. For whatever reason,
almost all web postings are done with a single space following the period in
a sentence. For our purposes, that needs to be changed such that there are
two spaces after the period in each sentence; however, once that’s done,
there are many places where a period in the middle of a sentence really WAS
supposed to have a single space behind it, so the last part of that macro
goes back and reverts all of those. Each time I find a new situation where
the first part of the macro put two spaces where only one should have
appeared, I have to add another iteration of the entire find and replace
macro coding – that has made the macro incredible long. )

----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.

http://www.microsoft.com/office/com...4c85c3f7&dg=microsoft.public.word.vba.general
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top